1
我有一個路由器,當某些路由處於活動狀態時 - 我顯示正確的模板。但我的導航菜單是不是與此同步..什麼是正確的方式來同步導航菜單與路由器?在AngularJS中突出顯示當前活動菜單的正確方法是什麼?
我想過NavigationCtrl
,但我需要特殊服務,這將是其他控制器和導航之間的層...
目前我的導航是類似的東西:
var app = angular.module('Money', []);
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'general.html',
controller: 'GeneralCtrl'
})
.when('/accounts', {
templateUrl: 'accounts.html',
controller: 'AccountsCtrl'
});
}]);
app.controller('NavigationCtrl', ['$scope', '$rootScope', function ($scope, $rootScope) {
// nothing right now
}]);
app.controller('GeneralCtrl', ['$scope', function ($scope) {
$scope.model = {
title: 'General page!'
};
}]);
app.controller('AccountsCtrl', ['$scope', function ($scope) {
$scope.model = {
title: 'Accounts page!'
};
}]);
<div id="app" ng-app="Money">
<div class="navbar navbar-inverse" ng-controller="NavigationCtrl">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".navbar-responsive-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="#">My money</a>
<div class="nav-collapse collapse navbar-responsive-collapse">
<ul class="nav">
<li class="active"><a href="#">General</a></li>
<li><a href="#accounts">Accounts</a></li>
</ul>
<ul class="nav pull-right">
<li><a href="/logout">Sign out</a></li>
</ul>
</div><!-- /.nav-collapse -->
</div>
</div><!-- /navbar-inner -->
</div>
<ng-view></ng-view>
</div>
我已經更新了文章。看看我的路由器。 'activeRoute'應該如何進入'$ scope'?問題是關於路由器和導航菜單之間的通信,當我有不同的控制器和視圖模板時。 – ValeriiVasin 2013-03-21 21:53:57
裏面'GeneralCtrl':'$ scope.activeRoute =「general」;''和'AccountsCtrl'' $ scope.activeRoute =「account」;'等 – couzzi 2013-03-21 21:57:51
但是它的範圍不同。它對我的'NavigationCtrl'有什麼影響?或者導航應該在哪裏? – ValeriiVasin 2013-03-21 21:59:42