0
我點名的觀點:UI路由器命名視圖和NG-控制器
.state('home', {
url: '/',
views: {
'' : {
templateUrl: '/layouts/main.html',
controller: ['$rootScope', function($rootScope) {
$rootScope.css.background = "#ebeced";
}]
},
'[email protected]': { templateUrl: '/templates/nav.html' },
'[email protected]': { templateUrl: '/home/menu.html'},
'[email protected]': { templateUrl: '/templates/feed.html' },
'[email protected]': { templateUrl: '/home/footer.html' }
}
})
和main.html
看起來是這樣的(注意,NG-控制器):
<div ng-controller="baseCtrl">
<div ui-view="nav"></div>
<div class="wrapper">
<div id="menu">
<div ui-view="menu"></div>
</div>
<div ui-view="main"></div>
<div id="footer">
<div ui-view="footer"></div>
</div>
</div>
</div>
我baseCtrl
是不承認ng-model
值在ui-view
中的任何一個文本框中。
<input type="text" ng-model="url" ng-blur="addUrl()" />
和baseCtrl
:
$scope.url = ""; //required or get error about not being defined
$scope.addUrl = function() {
console.log($scope.url); //nothing???
}
上午我做一個愚蠢的錯誤地方?
UPDATE: 我想我已經解決了這個問題 - 我需要定義baseCtrl
作爲控制器每個視圖了。
你應該寫答案,並接受它:-) – pietro909