1

私はこのようなサービスを持っています(簡潔さ(およびプライバシー)のために変更されています):

angular.module('services', [])
.factory('obj', function ($http) {
    return {
       get: function () {
           return $http.get('/obj').then(function (response) {
               return response.data;
           });
       }
    }
});

次のように使用されます:$scope.obj = obj.get();サーバーからオブジェクトを取得します。

オブジェクトを表示し、そのキーのほとんどを変更できますが、配列やその他のオブジェクトを含むキーを変更できないようです。タイプエラーが発生します:

TypeError: Cannot call method 'indexOf' of undefined

約束されたオブジェクトに存在する配列の内容に追加しようとしています。私はそれらを見ることができます。それは、それらを追加または削除しようとすると、角度が未定義であると考えるだけです。

なぜこうなった?

4

1 に答える 1

3

コントローラーで使用.thenし、コールバックでロジックを実行します。

obj.get().then(function(data) {
    $scope.obj = data;
    //do stuff
});
于 2013-10-22T20:49:46.417 に答える