,当我从this tutorialAngularJS侧边栏链接点击
创建基于关闭此一个
发现http://plnkr.co/edit/xzcjStdvmkI2rpfMzLjI?p=preview的侧边栏但是我想保持积极的选择,一旦链接被点击保持活跃。我试着添加数据切换,但似乎适用于nav-pills而不是navbar。我还发现,我已经尝试实现的是,主动导航指令:
angular.module('sidebarmodule')
.directive('isActiveNav', ['$location', function ($location) {
return {
restrict: 'A',
link: function (scope, element) {
scope.location = $location;
scope.$watch('location.path()', function (currentPath) {
if ('/#' + currentPath === element[0].attributes['href'].nodeValue) {
element.parent().addClass('active');
} else {
element.parent().removeClass('active');
}
});
}
};
}]);
我在侧边栏模板调用像这样:
<li> <a is-active-nav href="#">Link1</a> </li>
我尝试另一种方法是在我的控制器然后添加$scope.isActive = function (viewLocation) { return viewLocation === $location.path(); };
,然后添加到模板中:<li ng-class="{ active: isActive('/importinvoice')}"><a href="#/firstlink">First Link</a></li>
但是,我没有做任何事情会在导航到该页面后突出显示侧边栏元素。我试图避开jQuery,因为我希望它只是一个AngularJS解决方案。
我尝试了这个stackoverflow answer的大部分解决方案,但无法让它们中的任何一个在重击器上工作。
是的,我应该提到,我也试过这个。我创建了ng-class =“{active:isActive('/ firstlink')}”并创建了一个函数$ scope.isActive = function(viewLocation){return viewLocation === $ location.path(); };基于其他堆栈流的答案。这没有奏效。 – jenryb
这里是你正在建议,为那些看起来stackoverflow链接:http://stackoverflow.com/questions/12295983/set-active-tab-style-with-angularjs我只是不能让它与plunker – jenryb