我正在尝试单独使用自己的服务和控制器。我认为我做错了但是因为我继续得到未知的提供程序错误。这是我的应用程序的代码,包括服务和控制器。
TaskServices:
app = angular.module('TaskApp',[]);
app.factory('Tasks', function(Restangular) {
return Restangular.service('tasks');
});
TaskControllers:
app = angular.module('TaskApp',[]);
//Task controller
app.controller('TaskCtrl',['Tasks', function($scope, Restangular, Tasks) {
// loading data
Tasks.getList().then(function(tasks){
$scope.tasks = tasks;
});
}]);
// Create new patient controller
app.controller('CreateTaskCtrl', function($scope, Restangular) {
});
答案 0 :(得分:1)
您正在两个地方定义具有相同名称的模块
TaskServices :
app = angular.module('TaskApp',[]);
TaskControllers :
app = angular.module('TaskApp',[]);
实际上你应该在一个地方定义它,然后把它放在另一个地方...... app = angular.module('TaskApp');
答案 1 :(得分:0)
您应该注入依赖项,因为应该在controller
定义的第二个参数中注入。
我的意思是下一个:
app.controller('TaskCtrl',['Tasks', function($scope, Restangular, Tasks)
由于角度尝试仅注入Tasks
依赖项,无效,因此不了解Restangular
和Tasks
。缩小上面的代码后,$scope
变量将在真实的Tasks
服务中。
下一个正确的语法:
app.controller('TaskCtrl',[
'$scope',
'Restangular',
'Tasks',
function($scope, Restangular, Tasks) {
// code goes here
}
]};
您应该按顺序注入依赖项。