AngularJS ng-class由任何子路由激活

时间:2014-03-14 10:30:17

标签: angularjs

我有一个标签,我希望通过以下链接激活:

http://localhost:8020/client#/content

因此我有这个list-element:

li ng-show="showContentItemsTab" ng-class="{active: isActive('/content')}"><a href="#/list">Content</a></li>

但我也希望在调用子链接时它处于活动状态:

http://localhost:8020/client#/content/531443caeb3f95600ef92e3f

有没有办法在/ content之后应用所有子链接?

类似的东西:

li ng-show="showContentItemsTab" ng-class="{active: isActive('/content/*')}"><a href="#/list">Content</a></li>

1 个答案:

答案 0 :(得分:0)

遵循官方角度js教程,您可以按如下方式设置路由。

phonecatApp.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/phones', {
        templateUrl: 'partials/phone-list.html',
        controller: 'PhoneListCtrl'
      }).
      when('/phones/:phoneId', {
        templateUrl: 'partials/phone-detail.html',
        controller: 'PhoneDetailCtrl'
      }).
      otherwise({
        redirectTo: '/phones'
      });
  }]);

控制器将

var phonecatControllers = angular.module('phonecatControllers',[]);

    phonecatControllers.controller('PhoneDetailCtrl', ['$scope', '$routeParams', '$http',
      function($scope, $routeParams, $http) {
        $http.get('phones/' + $routeParams.phoneId + '.json').success(function(data) {
          $scope.phone = data;
        });
      }]);

因此,您可以使用$routeParams

获取