从ui-router $ stateChangeStart获取父状态

时间:2016-04-26 12:05:09

标签: javascript angularjs angular-ui-router

我想在检测状态转换时访问父状态的名称。 到目前为止我的代码:

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.dogspets是一个抽象的父状态,dogs是它的一个孩子。 fromState.name会返回login,但我想要pets

编辑: 是的,解决方法toState.name.split(".")[0]是可行的,但只能在受控条件下运行。

1 个答案:

答案 0 :(得分:-1)

我认为你可以做toState.parent.name