2
我使用angularJS與引導來設計我的應用程序的導航。我定義了一個主控制器,並在主控制器內部使用ng-view屬性調用不同的頁面視圖,然後這些單獨的視圖擁有自己的控制器。ngClass不更新類
我正在使用ng-class屬性將活動類添加到我的鏈接,但它不起作用。表達式評估爲true或false,但ng-class不會更新元素上的class =「active」。
在我的主頁,我有以下的代碼 -
<section ng-controller="dashBoardCtrl" class="container">
<section class="row">
<h1>DME DashBoard | <small>WFM HeadCount</small> </h1>
</section>
<section class="row">
<ul class="nav nav-tabs">
<li role="presentation" ng-class="{active: {{path=='/'}}}"><a ng-href="#/">Home</a></li>
<li role="presentation" ng-class="{active: {{path=='/login'}}}"><a ng-href="#/login">Login</a></li>
</ul>
</section>
<section ng-view></section>
</section>
這是路線是如何上的應用程序配置 -
dmeDash.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: '/views/home.html',
controller: 'homePageCtrl'
})
.when('/login', {
templateUrl: '/views/login.html',
controller: 'loginCtrl'
})
.otherwise({
redirectTo: '/'
});
}]);
的dashBoardCtrl有下面的代碼 -
dmeDashControllers.controller('dashBoardCtrl', ['$scope','$location', function($scope, $location) {
$scope.path = $location.$$path;
$scope.$watch('path',function(n,o) {
})
}]);
主頁控制器有以下代碼 -
dmeDashControllers.controller('homePageCtrl', ['$scope','$location', function($scope, $location) {
$scope.$parent.path = $location.$$path;
}]);
登錄頁面控制器具有下面的代碼 -
dmeDashControllers.controller('loginCtrl', ['$scope','$location', function($scope, $location) {
$scope.$parent.path = $location.$$path;
}]);
當我從首頁點擊登錄頁面主動類不是從主頁鏈接刪除,而不是應用於登錄頁面不過,當我在firebug中查看代碼時,表達式在頁面更改時計算爲true或false。
當我在單個頁面上刷新時,ng-class正常工作,但在使用超鏈接時不能正常工作,請建議。