所以我使用ui-router和stateparams来嵌套子状态,并且效果很好。我现在正试图找到一种方法来决定css类应用程序的状态级别。 main.route1.section1
将是3级。
这里有一些非工作代码可以帮助显示:
<div ng-class="{findState().currentCount}"></div>
app.run(function($rootScope, $state, $stateParams) {
$rootScope.$state = $state;
$rootScope.$stateParams = $stateParams;
$rootScope.findState = function() {
var currentName = $state.current.name;
var currentMatch = currentName.match(/./g);
$rootScope.currentCount = currentMatch.length;
};
});
我基本上正在寻找一种方法来取$state.current.name
等于main.route1.section1
并将其拆分为点并计算数组中有多少并将该数字返回给mg-类。除非你有更好的想法......就像正则表达式过滤器一样?
答案 0 :(得分:8)
查看对象$state.$current
(而不是$state.current
)。特别是属性path
:它是一个表示当前状态的状态层次结构的数组。
所以你要找的是:$state.$current.path.length