2015-10-19 138 views
0

我想添加三个基于routeProvider的附加列表项。如果报告路线导航到,我想使用ng-show使另外三个列表项目可见。我希望它们保持可见,除非创建用户或管理用户路线被导航到。新的列表项目是访问报告和详细信息报告。显示基于当前角路由的HTML元素

HTML:

<ul class="nav nav-pills nav-stacked"> 
    <li> 
     <a href="#createUser"> Create User</a> 
    </li> 
    <li> 
     <a href="#manageUsers"> Manage Users</a> 
    </li> 
    <li> 
     <a href="#reports"> Reports</a> 
    </li> 
</ul> 

routeProvider.js

adminApp.config(function($routeProvider) { 
$routeProvider 

    .when('/createUser', { 
     templateUrl : 'app/components/admin/views/createUserView.html', 
     controller : 'createUserController' 
    }) 

    .when('/manageUsers', { 
     templateUrl : 'app/components/admin/views/manageUsersView.html', 
     controller : 'manageUsersController' 
    }) 

    .when('/editUser', { 
     templateUrl : 'app/components/admin/views/editUserView.html', 
     controller : 'manageUsersController' 
    }) 

    .when('/reports', { 
     templateUrl : 'app/components/admin/views/reportsView.html', 
     controller : 'reportsController' 
    }) 

    .when('/reports', { 
     templateUrl : 'app/components/admin/views/accessReportsView.html', 
     controller : 'reportsController' 
    }) 

    .when('/reports', { 
     templateUrl : 'app/components/admin/views/detailsReportView.html', 
     controller : 'reportsController' 
    }) 

我试图做这样的事情:

<ul class="nav nav-pills nav-stacked"> 
    <li> 
     <a href="#createUser"> Create User</a> 
    </li> 
    <li> 
     <a href="#manageUsers"> Manage Users</a> 
    </li> 
    <li> 
     <a href="#reports"> Reports</a> 
    </li> 
    <!--show this list item if the route is /reportsView or /accessReportsView orsummaryReportsView--> 
    <li> 
     <a ng-show="" href="#reports"> Access Reports</a> 
    </li> 

</ul> 

Link git repo if needed

+1

查找到[$位置(https://docs.angularjs.org/api/ng/service/$location),它可以给你目前的路径,并可用于基于路径将项目添加/删除到阵列。有很多方法可以做到这一点。 – GillesC

回答

0

好像按您当前的配置,你应该在你的锚​​href属性

<ul class="nav nav-pills nav-stacked"> 
    <li> 
     <a href="#/createUser"> Create User</a> 
    </li> 
    <li> 
     <a href="#/manageUsers"> Manage Users</a> 
    </li> 
    <li> 
     <a href="#/reports"> Reports</a> 
    </li> 
</ul> 
+0

我不确定你的意思。你能进一步解释吗? – WesW

+0

表示点击时您的网址不起作用,但它不会回答您如何根据所选路线显示某些项目的问题。 – GillesC