我有一个AngularJS(1.5.1)组件。该组件出现在我的应用程序中。
我需要根据当前活动的URL在此组件的模板中执行某些操作。
例如,当应用在网址中显示#/web/foundation/color
或任何其他状态web
时,我需要设置一个包含ng-class的类。如果网址具有给定的href,我需要返回true
。
我试图使用ng-class="{'active' : $state.includes('web')}"
与该网址相关联的州是
$stateProvider.state('color', {
url: '/web/foundation/color'}
});
我在web
部分中有其他几个,设置类似,例如
$stateProvider.state('buttons', {
url: '/web/foundation/buttons'}
});
所以web
是网址的一部分,但不是州名。
组件本身是
(function () {
'use strict';
angular.module('app').component('pbDsLeftnav', {
bindings: {},
controllerAs: 'ctrl',
templateUrl: 'core/directives/pb-ds-leftnav.component.html',
controller: function ($log, $rootScope, $state, $stateParams) {
var _this = this;
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
console.log($state.includes('web'));
}
});
})();
我尝试了各种版本的'web'
,**.web.**
无济于事。它始终记录false
。我如何匹配州的网址的一部分?