如何根据路线更改AngularJS中的值?

时间:2015-12-15 20:54:18

标签: javascript angularjs

我想根据我所在的路线更改应用程序中此“下一个”箭头的href链接。该应用程序是幻灯片,下一个箭头将指引您完成所有路线。最好的方法是什么?

所以例如,如果我在'/'路线上,下一个箭头应该带我到'/ overall-results'如果我在'/ overall-results'下一个箭头应该带我去'/泳道'。我知道最容易做到的就是在每个页面上制作这个“箭头”,并为它设置一个不同的链接,但如果有一个有角度的方式,我想知道。

路线档案:

angular
.module('ciscoImaDashboardApp', ['ngRoute'])
  .config(function ($routeProvider) {
    $routeProvider
      .when('/', {
        templateUrl: 'views/welcome.html',
        controller: 'welcomeCtrl'
      })
      .when('/overall-results', {
        templateUrl: 'views/overall.html',
        controller: 'overallCtrl'
      })
  .when('/swim-lane-results', {
    templateUrl: 'views/swim-lane.html',
    controller: 'swimlaneCtrl'
  })
  .otherwise({
    redirectTo: '/'
  });
});

我的导航箭头位于:

<ng-view></ng-view>
<a href="#/{{nextlink}}">Next</a>

1 个答案:

答案 0 :(得分:0)

由于每个路由都有一个控制器,因此可以保持模板相同,并引用在每个控制器上更改的$ rootScope。

<!-- welcomeCtrl -->
$rootScope.nextLink = "overall-results";

<!-- overallCtrl -->
$rootScope.nextLink = "swim-lane-results";

<!-- swimlaneCtrl -->
$rootScope.nextLink = "somethingelse";

<!-- navigation template shared by all controllers/templates -->
<a ng-href="/{{nextLink}}">Next Link</a>