嗨, Angular 社区!
我很困惑,我想我已经了解工厂的目的和概念,但似乎没有......
这是我的问题(对你来说肯定很简单):
我想通过 Angular 和 .factory 使用我的 REST API(完美运行)...
rest.js
var app = angular.module('urlShortener', ['ngRoute', 'ngResource']);
app.factory('API', ['$resource',
function($resource){
return $resource('/link'});
}],{
get: {method:GET},
post: {method:POST},
put: {method:PUT},
delete: {method:DELETE},
}
);
app.controller('GetAll', function ($scope) {
$scope.links = API.get();
});
index.ejs
<div ng-controller="GetAll">
<ul>
<li ng-repeat="link in links">
<p>{{link.itemId}} --> {{link.url}}</p>
</li>
</ul>
</div>
不工作...2小时我正在咨询Angular API,但没有解决方案:/
请帮助我,我在浪费时间:'(
\\\\解决方案////
rest.js
app.factory('API', ['$resource', function($resource) { return $resource('/link'); }]);
app.controller('GetAll', ['$scope', 'API', function ($scope, API) {
API.query().$promise.then(function(links) {
$scope.links = links;
});
}]);
感谢@dfsq help :)
最佳答案
您不能只将 $resource 实例分配给 $scope.links,您需要在底层 promise 解析时执行此操作:
app.controller('GetAll', ['$scope', 'API', function ($scope, API) {
API.get().$promise.then(function(links) {
$scope.links = links;
});
}]);
关于javascript - 需要有关 Angular Factory 的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37869798/