我的应用程序中有菜单,使用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()
最好的方法是什么?
答案 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
服务在指令中执行相同操作。