我有一个状态路由器:
$stateProvider
.state('home', {
url: '/',
templateUrl: 'spa/layouts/home.html',
controller: 'HomeController',
controllerAs: 'ctrl'
});
在我的 home.html 模板中,我有:
<div class="row main-body">
<aside class="col-md-2 sidebarNav">
<div>...</div>
</aside>
<section class="col-md-10 main-container">
<div>..</div>
<my-list list-items={{ ctrl.listItems }}></my-list>
</section>
</div>
在指令 my-list 中,我有以下内容:
var templateUrl = 'spa/components/classList/classList.html';
angular
.module('directives')
.directive('myList', component);
function component() {
return {
templateUrl: templateUrl,
controller: classListDir,
contollerAs: '$ctrl',
scope: {
listItems: '@'
},
bindToController: true,
};
}
classListDir.$inject = ['$scope'];
function classListDir($scope) {
var $ctrl = this;
console.log($ctrl);
}
我已阅读并重新阅读https://docs.angularjs.org/error/$compile/noident?p0=myList。 我认为我的案子涉及第二个
// OKAY,因为该指令使用了controllerAs属性 超控
//控制器标识符。
我仍然收到错误消息。 我不明白绑定标识符错误。 有人可以解释一下。
答案 0 :(得分:15)
发现问题:
contollerAs:&#39; $ ctrl&#39;
拼错了。