Angular:如何访问资源?
问题描述:
我正在尝试使用Angular,并且想要使用$ resource。我不清楚的是如何创建资源元素。Angular:如何访问资源?
例如:
var service = angular.module("apiService", ["ngResource"]).factory('User',
['$resource',
function($resource){
return $resource('/users/:userId', {userId:'@id'});
}]
);
我期待有一个 '用户' 对象的访问,就像这样:
User.query();
但用户没有定义。有没有一个特定的命名空间,其中定义了这个对象?
什么是最小运行样本来得到这个工作? (没有加载angular.js和angular-resource.js)
答
你只需要在查询中传递成功函数。
.controller('mainCtrl', function($scope, User){
User.query(function(user){
$scope.user = user; //call when return data
});
})
或者你也可以通过这个解决查询
.controller('mainCtrl', function($scope, User){
User.query().$promise.then(function(user){
$scope.user = user; //call when return data
});
})
答
也许你忘了,包括“apiService”,或者用户在控制器的$承诺对象? 这工作:
angular.module("apiService", ["ngResource"]).factory('User',
['$resource',
function($resource){
return $resource('/users/:userId', {userId:'@id'});
}]
);
angular.module("testApp", ['apiService']).controller('Test', function($scope, User) {
User.query();
});
的问题是,用户在一切都没有确定! – tomsoft
@tomsoft是否在控制器中注入了服务?在您的主模块中,是否注入了'apiService'模块 –
这可能就是关键。我应该怎么做? (我对Angular相当陌生,只是运行一个fe教程) – tomsoft