javascript - 需要有关 Angular Factory 的帮助

标签 javascript angularjs angular-resource

嗨, 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/

相关文章:

javascript - AngularJS - Controller 资源调用不将参数传递给服务工厂?

javascript - Node.js、Jsdom、HttpAgent 的内存使用情况

javascript - 使用 JavaScript 呈现整个页面是一种好习惯吗?

javascript - 从 ng-repeat 更改元素的样式

javascript - 在 Angular JS 中使用 $route 重新加载页面

javascript - 如何在 Amazon Linux AMI 上运行端到端测试?

javascript - 测试-尝试使用 $httpBackend.expectGET 通过用户名获取用户 JSON 对象

javascript - ng-click 事件后指令范围不会更新

javascript - 未知提供商 : $resouceProvider <- $resouce

ruby-on-rails - 获取 ActionController::RoutingError(当尝试使用 AngularJS 将数据发布到 Rails 服务器时,没有路由匹配 [OPTIONS] "/users"