我有这样的服务(为简洁(和隐私)而修改):
angular.module('services', [])
.factory('obj', function ($http) {
return {
get: function () {
return $http.get('/obj').then(function (response) {
return response.data;
});
}
}
});
它的使用方式如下:$scope.obj = obj.get();
从服务器检索对象。
我可以显示对象并修改它的键的MOST,除了我似乎无法修改包含数组或其他对象的任何键。我收到类型错误:
TypeError: Cannot call method 'indexOf' of undefined
我正在尝试添加承诺对象中存在的数组的内容。我可以查看它们,只是当我尝试添加或删除它们时,angular认为它是未定义的。
为什么会这样?
答案 0 :(得分:3)
在控制器中使用.then
并在回调中执行逻辑:
obj.get().then(function(data) {
$scope.obj = data;
//do stuff
});