如何在不显示url的情况下使用参数?

问题描述 投票:0回答:1

来自状态A的controllerA

$state.go('account.accountRegister', {accountType: $stateParams.accountType, acName: acName})

app.js中定义的状态

.state('account.accountRegister', {
    url: '/:accountType/register',
    params: {accountType, acName},
    views: {
        'mainView@':{
        templateUrl: 'app/views/registration.html',
        controller: 'registrationController'
    }
}
})

来自状态B的controllerB

console.log($stateParams.acName); // is getting undefined

如何在控制器中使用acName而不显示状态的url部分?

angularjs angular-ui-router
1个回答
0
投票

我想出了一个解决方案

        .state('account.accountRegister', {
                url: '/:accountType/register',
                params: {
                    acName: {
                        value: 'defaultValue',
                        squash: false
                    }
                },
                views: {
                    'mainView@':{
                        templateUrl: 'app/views/registration.html',
                        controller: 'registrationController'
                    }
                }

        })

有关squash对象的params属性的更多信息:

https://ui-router.github.io/docs/0.3.1/#/api/ui.router.state。$ stateProvider

© www.soinside.com 2019 - 2024. All rights reserved.