我遇到問題。我的頁面中有一些菜單,最初着陸頁菜單是高亮顯示的,但是當我移動到下一個菜單時,以前的着陸頁高亮仍然存在,在交換菜單時它應該刪除。我正在使用Angular.js and angular ui-router
。我在下面解釋我的代碼。使用Angular.js單擊下一個菜單時無法禁用上一個單擊菜單上的高亮顯示
<li ui-sref-active="active"><a ui-sref="dashboard">Home</a></li>
<li ng-class="{'active open': $state.includes('dashboard.setting')}"><a ui-sref="dashboard.setting.cat" >Settings</a></li>
<li ng-class="{'active open': $state.includes('dashboard.users')}"><a ui-sref="dashboard.users.view" >User Info</a></li>
我的配置文件如下。
route.js:
var Admin=angular.module('connector',['ui.router', '720kb.datepicker','ngMessages','ngCapsLock','ui.bootstrap','ngFileUpload','angularUtils.directives.dirPagination','angularjs-dropdown-multiselect']);
Admin.run(function($rootScope, $state) {
$rootScope.$state = $state;
});
Admin.config(function($stateProvider, $urlRouterProvider,$locationProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('/', {
url: '/',
templateUrl: 'view/login.html',
controller: 'loginController'
})
.state('dashboard', {
url: '/dashboard',
templateUrl: 'view/dashboard.html',
controller: 'dashboardController'
})
.state('dashboard.setting', {
url: '/setting',
templateUrl: 'view/setting.html',
controller: 'adminSettingController'
})
.state('dashboard.setting.cat', {
url: '/manage_category',
templateUrl: 'view/manage_category.html',
controller: 'adminCatCategoryController'
})
.state('dashboard.setting.subcat', {
url: '/manage_subcategory',
templateUrl: 'view/manage_subcategory.html',
controller: 'adminSubcatCategoryController'
})
});
這裏最初,當我點擊settings
菜單上的Home
菜單亮點應該禁用我的Home
菜單被選中,但在我的情況下,它不會發生這樣既這裏點擊第二個菜單後顯示高亮。在這裏我需要當用戶點擊任何菜單,只會突出顯示和着陸頁菜單將突出顯示初始。代碼爲angular-1.4.6 and angularuirouter-0.2.8
工作,但我使用angular-1.5.9 and angularuirouter-0.3.2
請幫助。
是的,你也可以使用ng-class! –
我更新了我的帖子.same代碼工作angular-1.4.6和angularuirouter-0.2.8,但我使用angular-1.5.9和angularuirouter-0.3.2,在這裏它不工作。 – satya
@satya你在控制器中注入了'$ state'依賴項嗎? –