【发布时间】:2015-01-19 20:37:13
【问题描述】:
我的previous topic 出现问题,我无法使用我的服务。
在做了一些研究之后,我终于找到了一种使用我的服务的方法。我仍然想知道为什么我使用 javascript 对象作为方法容器的其他方法没有成功。我有一些猜测,但找不到合适的解决方案。
希望你们能带领我走上正确的道路。
controller.js(工作解决方案)
angular.module('TodoApp.controllers', []).
controller('listCtrl', function ($scope, $location, todoApiService) {
$scope.todos = todoApiService.query();
});
services.js(工作解决方案)
angular.module('TodoApp.services', []).
factory('todoApiService', function ($resource) {
return $resource('/api/todo/:id', { id: '@id' }, { update: { method: 'PUT' } });
});
controllers.js(不工作的解决方案)
angular.module('TodoApp.controllers', []).
controller('listCtrl', function ($scope, $location, todoApiService) {
$scope.todos = todoApiService.getMyTodos.query();
});
services.js(不工作的解决方案)
angular.module('TodoApp.services', []).
factory('todoApiService', function () {
var todoApi = {};
todoApi.getMyTodos = function ($resource) {
return $resource('/api/todo/:id', { id: '@id' }, { update: { method: 'PUT' } });
};
return todoApi;
});
【问题讨论】:
-
在第二个 service.js 中,Angular 的注入是否会为 $resource 启动?
-
Jep,它在 services.js 中启动。
-
实际上,它从未真正进入方法“getMyTodos”。无法在 return $resource 语句处到达我的断点 ..
-
如果我在 todoApiService.query() 方法处设置断点并尝试单步执行该方法,我会得到这个更新函数,而“克隆”对象未定义oi58.tinypic.com/2z6rqyv.jpg
标签: javascript html angularjs visual-studio-2013