【发布时间】:2014-05-13 06:45:20
【问题描述】:
在我的 Angular JS 应用程序中,我有 2 个页面使用相同的功能,我正在尝试使用抽象控制器,但我从 Summary Ctrl 收到“未定义基本 Ctrl”错误。
我有什么遗漏吗...
标记
<div ng-controller="MainCtrl">
<div ng-controller="SummaryCtrl">{{name}}</div>
<div ng-controller="SearchCtrl"></div>
</div>
MaintCtrl.js
define(['tabs/module'], function (module) {
'use strict';
module.controller('MainCtrl', ['$scope', function ($scope) {
//some code;
}]);
function BaseCtrl($scope) {
$scope.name="test";
}
});
SummaryCtrl.js
define(['tabs/summary/module'], function (module) {
'use strict';
module.controller('SummaryCtrl', ['$scope', function ($scope) {
BaseCtrl($scope);
//child actions`enter code here`
$scope.name = 'Clicked from base controller';
}]);
});
【问题讨论】:
-
你的问题对我来说有点不清楚。但它看起来不像 BaseCtrl 在你的例子中是抽象的......如果你创造了一些闻起来像它(或应该是)服务的东西? (那么你也需要注入它。你只是隐式调用BaseCtrl,这违反了约定)如果我错了,请纠正我......或者你能提供更多关于你想要什么的细节达到?
-
我已经修改了上面的代码。我正在尝试创建一个抽象控制器 BaseCtrl 并在 SummaryCtrl 中使用它,我得到 BaseCtrl is not defined 错误。
标签: angularjs