我正在尝试使用我的应用程序中导入的模块中的控制器,但从不调用控制器回调函数。 我遗失了一些东西,这里一直在研究它几个小时,无法弄清楚我错在哪里?
为方便起见,这是一个小提琴:https://jsfiddle.net/06vz8bu8/
HTML
<main ng-app="itemlist" class="itemlist">
<div ng-repeat="item in items">
{{item.name}} : {{item.info}}
</div>
</main>
JS
var Module = angular.module('itemlist', [
'itemlistControllers'
]);
var CtrlModule = angular.module('itemlistControllers', []);
CtrlModule.controller = ('listController', ['$scope'], function ($scope) {
$scope.items = [
{name: 'Foo', info: 'moo'}
];
});
感谢您的帮助
答案 0 :(得分:1)
这个怎么样(见代码评论):
// .controller = ( <--- what was that????
// In addition, explicit injections using this approach requires
// both injected service/provider names and function in the same array
CtrlModule.controller('listController', ['$scope', function ($scope) {
$scope.items = [
{name: 'Foo', info: 'moo'}
];
}]);
在HTML中,除非使用UI路由器或ngRoute之类的东西,否则需要使用ng-controller
指令显式设置控制器:
<main ng-app="itemlist" class="itemlist" ng-controller="listController">