我想在检测状态转换时访问父状态的名称。 到目前为止我的代码:
app.run(function($rootScope, $state, authProvider) {
$rootScope.$on("$stateChangeStart", function(event, toState, toParams, fromState, fromParams) {
console.log(toState.name);
});
});
返回[parentState.childState]
。一种可能性是使用正则表达式来替换“。”之后出现的每个符号。但我想在ui-router中必须有一个函数来获取父状态的名称。
我需要添加什么?得到[parentState]
?
实施例:
用户来自州login
到州pets.dogs
。 pets
是一个抽象的父状态,dogs
是它的一个孩子。
fromState.name
会返回login
,但我想要pets
。
编辑:
是的,解决方法toState.name.split(".")[0]
是可行的,但只能在受控条件下运行。
答案 0 :(得分:-1)
我认为你可以做toState.parent.name
。