我有两个控制器。一个处理对话框的打开,另一个是对话框本身的控制器。
两个控制器都注入了一个服务"目录",但是在对话框控制器上,该服务是undefined
。
对话框控制器:
window.angular.module('tmo.controllers.directory', [])
.controller('DirectoryController', ['$scope', 'Global', 'Directory',
function ($scope, Global, number, Directory) {
$scope.global = Global;
$scope.direct = function (number) {
Directory.direct(number);
};
}]);
退货:
TypeError: Cannot read property 'direct' of undefined
当我从主控制器(而不是对话框)使用相同的方法时,目录服务没有被定义。
控制器的参数名称为
'$scope', 'Global', 'Directory'
但自变量值是
$scope, Global, number, Directory
所以number
参数实际上包含Directory,而Directory
参数是未定义的。