我有一个状态路由器:
$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,because the directive uses the controllerAs property to
override// the controller identifier.
解决方法
发现问题:
contollerAs:’$ctrl’
拼错了.