如何在angularjs中显示所选菜单项?

时间:2013-10-06 02:47:34

标签: angularjs angularjs-directive

我的应用程序中有菜单,使用AngularJS加载,当我点击菜单项时,我需要突出显示该项目。我的菜单如下:

<ul class="nav nav-stacked" data-ng-controller="ProjectListController" >
  <li data-ng-repeat="project in projects" data-active-link="{{project.id}}">
    <a href="#/project/{{project.id}}">{{project.title}}</a>
  </li>
</ul>

我创建了指令,我传递了项目ID,在这个指令里面我需要验证是否

 $location.path() == '/project/project.id'

当我遇到我的angular指令时,问题是我没有project.id的值,后面会赋值,所以我将'project / project.id'作为一个文本字符串,不合格$ location.path()

最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

假设您已在routeProvider中以/project/:projectId格式定义了路由。您可以在ProjectListController中执行的操作是将当前项目分配给范围变量

$scope.projectId=$routeParams.projectId;

您需要将$routeParams服务注入您的控制器

然后在你的html中你可以做到

 <a href="#/project/{{project.id}}" ng-class="{selected:projectId===project.id}">{{project.title}}</a>

这将在锚点上应用selected类,并匹配路径项目ID。

您可以通过传递$routeParams服务在指令中执行相同操作。