12168


AngularJSで以下の様なローカルに存在するファイルを読み込みたいです。

color.json

[code]

    [
       {
        "color": "'rgba(255, 23, 68, 0.2)'"
       },
       {
        "color": "'rgba(245, 0, 87, 0.2)'"
       },
       {
        "color": "'rgba(213, 0, 249, 0.2)'"
       }
    ]
    
[/code]

`var colors = $resource('./color.json').query();`  
で読み込んで

`console.log(colors)`で表示しようとしても`undefined`になってしまいます。  
なぜでしょうか


CC BY-SA 3.0
2015-07-08T13:22:33.777
12163
2015-07-08T23:48:28.117
2015-07-08T13:28:32.190
7232
7232
question
javascript angularjs json
AngularJSでローカルにあるjsonを読み込みたい。


<https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular-resource.js>  
queryの結果がundefineになる事はありません。

queryの戻り値を直ぐjsonオブジェクトとして使用できる訳ではありません。  
urlに非同期でアクセスし、戻ってきて始めてjsonオブジェクトとして使用できます。

[code]

    var colors = $resource('./color.json').query();
    colors.$promise.then(function(){
        // この関数が呼ばれるまでjsopnオブジェクトとして使用不可能
    });
    
[/code]

queryに関数を渡す事でもっと簡単に書けます

[code]

    var colors = $resource('./color.json').query((function(){
        // この関数が呼ばれるまでjsopnオブジェクトとして使用不可能
    });
    
[/code]


CC BY-SA 3.0
2015-07-08T23:48:28.117
12168
2015-07-08T23:48:28.117
4191
12163
answer