我有一个基于以下示例的菜单:
<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>
Run Code Online (Sandbox Code Playgroud)
item是一个对象,包含菜单项信息.这是指令和控制器的JavaScript代码:
var app = angular.module("coolApp",[]);
function menuContrl($scope,$location){
$scope.menu=menu;
$scope.isActive = function(path){
return ($location.path()==path)
}
}
Run Code Online (Sandbox Code Playgroud)
问题是,ng-class设置class到active页面渲染过程中只有一次,但是当你点击一个菜单项,没有一切发生的时候.我想这是因为菜单本身没有重新加载,我只是在里面更改数据<div>.那么如何在不重新加载整个页面的情况下使其工作呢?