我有一个基于以下示例的菜单:
<nav data-ng-controller="menuContrl" class="menuItem">
<a data-ng-class='{active:isActive("/{{item.path}}")}' data-ng-repeat="item in menu" href="#/{{item.path}}">
<span>{{item.title}}</span>
</a>
</nav>
item 是一个对象,包含菜单项信息。以下是指令和控制器的 JavaScript 代码:
var app = angular.module("coolApp",[]);
function menuContrl($scope,$location){
$scope.menu=menu;
$scope.isActive = function(path){
return ($location.path()==path)
}
}
问题是在页面渲染期间只ng-class
设置class
一次active
,但是当您单击菜单项时,什么也没有发生。我想这是因为菜单本身没有重新加载,我只是更改里面的数据<div>
。那么如何在不重新加载整个页面的情况下使其工作呢?