在$ state.go ui-router angularjs中设置未声明的搜索参数

时间:2017-12-02 13:46:44

标签: angularjs angular-ui-router

我正在尝试在$state.go()调用期间设置自定义查询字符串参数。如果我不必为每个$stateProvider.state()设置此参数,我会更喜欢。

此用例的一个示例是设置$stateChangeStart$stateChangeSuccess函数以查找某种redirect参数以重定向转换。

当用户尝试初次访问您的网站但请求未经授权时,您会将其重定向到授权/登录路由。我目前通过验证授权的resolve中的$stateProvider.state()完成此操作。如果授权失败,请在resolve中致电$state.go()。在我试图保持当前状态时,我得到一个空状态。

$state.current: {
    "name": "",
    "url": "^",
    "views": null,
    "abstract": true
}

此外,当我转换到登录路线时:

$state.go('login', {
    redirect: window.location
});

redirect查询字符串参数丢失。我很乐意,如果我不必为每一个$stateProvider.state()定义这个。{/ p>

1 个答案:

答案 0 :(得分:0)

在最新版本的ui-router上,不推荐使用所有转换语法

遗留$ stateChangeStart或$ stateChangeSucces,已被替换

mask = df2.AC.isin(df1.EW)
print (mask)
0     True
1    False
2    False
3    False
4    False
5    False
6     True
Name: AC, dtype: bool

df3 = df2.copy()
df3['AD'] = np.where(mask, df3['AD'], np.nan)
print (df3)
    AA   AB  AC   AD   AE
0  HAC   aw   d  1.0   xa
1  HAC   aw  aw  NaN   xa
2  HAC   aw  aw  NaN   xa
3  HAC   aw  aw  NaN   xa
4  HAC   aw  aw  NaN   xa
5  HAC   aw  aw  NaN   xa
6  NaN  NaN   d  NaN  NaN

新版本

$rootScope.$on('$stateChangeSuccess', (evt, toState, toParams, fromState,   
fromParams) => {  
// do something   
});

阅读迁移guide

您的州配置可能是:

app.run(($transitions) => {   
 $transitions.onStart({ }, (trans) => { 
// **trans** property has .to() & .from() values with all data about state
});  
})