在我的Angular应用
中var mainApp = angular.module('mainApp', ['ngCookies']);
我已定义authCtrl
控制器:
mainApp.controller('authCtrl', ['$scope, $cookies',function ($scope, $http, $cookies) {
$scope.credentials = {};
$scope.signCheck = function () {
a = $cookies.getObject('session_credentials');
console.log(a);
};
}]);
如果我从数组中删除$scope
声明(注入数组?)
mainApp.controller('authCtrl', ['$cookies',function ($scope, $http, $cookies) {
$scope
变得未定义。
如果我删除$cookies
- $cookies
变为未定义。
如果我同时保留它们 - $injector unknown provider error。
我做错了什么?
答案 0 :(得分:1)
请确保在进样器阵列和控制器功能参数中以正确的顺序指示服务:
这是注释应用程序组件的首选方法。这是 如何编写文档中的示例。
例如:
someModule.controller('MyController', ['$scope', 'greeter', function($scope, greeter) {
// ...
}]);
这里我们传递一个数组,其元素由一个字符串列表组成( 依赖项的名称)后跟函数本身。
使用此类注释时,请注意保留注释 数组与函数声明中的参数同步。
也许这个控制器定义适合你:
mainApp.controller('authCtrl', ['$scope', '$http', '$cookies', function ($scope, $http, $cookies) {
$scope.credentials = {};
$scope.signCheck = function () {
a = $cookies.getObject('session_credentials');
console.log(a);
};
}]);