【发布时间】:2015-08-22 01:53:58
【问题描述】:
有人能帮我解决我遇到的这个问题吗? 我有一个用于管理我的活动标签的 NavCtrl,我可以在单击菜单项时更改活动选项卡,但是当我单击正文视图中的链接时,它会将我带到我想要的页面,但是活动的标签没有变化。
//controller for nevigation menu
sp.controller('NavCtrl', ['$scope', 'auth', '$window','$rootScope', function ($scope, auth, $window,$rootScope) {
$scope.LogOut = auth.logOut;
$scope.isLoggedIn = auth.isLoggedIn;
$scope.tab = $rootScope.navTav;
$scope.toTop = function(){
$window.scrollTo(0, 0);
};
}]);
我尝试使用 $rootScope 设置导航选项卡,但它仍然无法正常工作
//setting root scope
sp.run(function($rootScope) {
$rootScope.navTav = 1;
})
ui-路由器
.state('qaanswer', {
url: '/qa/{quesId}',
views: {
view50': {
templateUrl: './qa/qaanswer.html',
controller: 'QAAnswerCtrl'
},
'view60': {
templateUrl: './shareviews/activityupdates.html',
controller: 'HomeCtrl'
}
},
onEnter:['$rootScope',function($rootScope){
$rootScope.navTav = 5;
}]
非常感谢您的帮助
【问题讨论】:
-
你也可以发布导航html。如果你使用的是 $rootScope 那么你不需要写 $scope.tab = $rootScope.navTav;这条线。你可以简单地使用 $rootScope.tab = 1(tab number)。这可能是你的问题。
-
我会建议你使用 $state.includes() 而不是增加代码
-
你好 Mohan,我已经把我的示例问题放在 plunker 上,你能看一下吗? plnkr.co/edit/pkGgEFhG2FJNWT7xDfb4?p=preview谢谢
-
好的,让我看看
标签: javascript angularjs angularjs-scope angular-ui-router