AngularJS $state.go 始终为参数传递空值

AngularJS $state.go pass always empty valure for parameter

我试过传一个参数white $stete.go.

路由器

$stateProvider.state('login.signin', {
    url: '/signin',
    params: {
        login_event: ''
    },
    templateUrl: "assets/views/login_login.html",
    title: 'Login',
    resolve: loadSequence('moment', 'userLoginCtrl')
});

通话中

$state.go('login.signin', { login_event: "session_expired"});

测试

console.log('toParams: ');
console.log(toParams);

console.log('fromParams: ');
console.log(fromParams);

console.log('$stateParams: ');
console.log($stateParams);

console.log('$state.params: ');
console.log($state.params);

即使我在调用中传递了一个值,我在"toParams"中得到的值始终是默认值。

我已经尝试了很多次来获取一个值,但是 "toParams" 只有默认值。

感谢您的帮助。

您当前实现(shorthand 实现)params 对象,它不会考虑从 $stateParms 传递的参数,它会将 login_event 的默认值设为''。你应该改变你的 params 对象实现,这样默认值将是 '' 就像 value: '' 如果它没有通过。

Docs Link

代码

params: {
    login_event: {
       value: ''
    }
},