角度资源注入的问题
Trouble with Angular Resource Injection
我正在开始使用 meanjs 堆栈,并且已经达到了一个令人头疼的问题,我不了解正确谷歌。
我有以下文件:**
(function () {
'use strict';
angular
.module('students')
.controller('StudentsListController', StudentsListController);
StudentsListController.$inject = ['StudentsService'];
function StudentsListController(StudentsService) {
var vm = this;
vm.students = StudentsService.query();
}
}());
使用此服务,我可以在列表学生控制器中获取 Student 对象的数组,接下来:
list-students.client.controller.js
(function () {
'use strict';
angular
.module('students')
.factory('StudentsService', StudentsService);
StudentsService.$inject = ['$resource'];
function StudentsService($resource) {
return $resource('api/students/:studentId', {
studentId: '@_id'
}, {
update: {
method: 'PUT'
}
});
}
}());
这按预期工作。我不明白的是,为什么当我尝试在另一个控制器中使用相同的服务时,它似乎无法注入,给我留下了一个未定义的 StudentsServices 变量。什么给?
学生.客户端.控制器.js
(function () {
'use strict';
// Students controller
angular
.module('students')
.controller('StudentsController', StudentsController);
StudentsController.$inject = ['$scope', '$state', 'Authentication', 'StudentsService'];
function StudentsController ($scope, $state, Authentication, student, StudentsService) {
var vm = this;
vm.authentication = Authentication;
vm.student = student;
vm.students = StudentsService.query();
...
}());
你的注射是错误的。
'$scope', '$state', 'Authentication', 'StudentsService'
但是您告诉控制器期望
$scope, $state, Authentication, student, StudentsService
我想通了,每个AngularJS:注入控制器时工厂总是未定义的
这是因为我的注入需要与传递到控制器函数的参数的顺序相同。
啊哈!
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- AngularJS依赖注入定时问题
- 使用可可将JavaScript注入网站时出现问题
- AngularJS:这个注入我的控制器有什么问题
- 角度资源注入的问题
- 为Backbone.js应用程序设计依赖注入系统的范围界定问题
- 棘手的图像注入问题
- 动态注入时保存文本区域值的夏季注释问题
- 奇怪的chrome扩展程序问题:将iframe注入Gmail
- 如何解决这个问题 - 不推荐使用注入的“容器”.余烬 2.3.
- 将 HTML 源代码注入 iframe 以避免跨站点脚本问题
- BHO Internet Explorer插件-脚本注入问题
- 从Chrome扩展在页面中注入Javascript:并发问题
- 在angular js中向控制器注入常量(模式弹出问题)
- Angular JS注入路由问题
- 当注入javascript代码覆盖DOM中存在的代码时,会出现问题
- 使用karma angularjs在单元测试中注入问题
- Angularjs服务注入问题