我正在尝试将自定义指令带到我的主页,该指令将打印一些输出。在我的 devtools 的网络选项卡中,我刚刚看到我的控制器加载了两次。
控制器:
var homeController = function($log,leaguesFactory){
var self = this;
self.leagues = [];
leaguesFactory.loadLeagues()
.then(function(leagues){
self.leagues = leagues.data.Competition;
});
self.message= 'test message';
};
指示:
var leaguesTabs = function(){
return {
restrict : 'E',
templateUrl : 'app/home/leagues-tabs.tpl.php',
scope: {
leagues: '='
},
controller: 'homeController',
controllerAs: 'homeCtrl'
};
};
ui-router 状态:
$stateProvider
.state('home',{
url : '/',
templateUrl : 'app/home/home.tpl.php',
controller : 'homeController',
controllerAs: 'homeCtrl'
})...
我只想在指令中使用我的 homeCtrl,但似乎状态提供程序也会加载它并使其加载两次。如果我从指令中删除控制器,那么我无法访问 homeCtrl,如果我从 stateprovider 中删除 homeCtrl,那么我无法访问 home.tpl.php
home.tpl.php:
<div>
<leagues-tabs></leagues-tabs>
</div>
任何想法?