gpt4 book ai didi

angularjs - $stateParams 用于 url 中仅包含 queryParameters 的状态

转载 作者:行者123 更新时间:2023-12-02 11:29:02 25 4
gpt4 key购买 nike

我的状态如下所示:

$stateProvider.state('base', {
url: '/base',
redirectTo: 'base.all',
template: '<div ui-view></div>'
})
.state('base.all', {
parent: 'base',
url: '?someQuery&another',
params: {
someQuery: null,
another: null
},
views: {
'': {
template: '<div>base.all</div>',
controller: function($stateParams){
console.log($stateParams.someQuery);//undefined
console.log($stateParams.another);//undefined
}
}
//some views
}
})
.state('base.all2', {
parent: 'base',
url: '/subPath?someQuery&another',
params: {
someQuery: null,
another: null
},
views: {
'': {
template: '<div>base.all2</div>',
controller: function($stateParams){
console.log($stateParams.someQuery);//foo
console.log($stateParams.another);//bar
}
}
//some views
}
});

我监听事件 $stateChangeStart 并在存在 redirectTo 时执行 $state.go

我现在的问题是如果我转到 url/base?someQuery=foo&another=bar

它将正确地转到base.all-state,但base.all-state的$stateParams将为空。我不希望这个状态有子路径。如果子状态有自己的子路径(如 /base/subPath?someQuery=foo&another=bar),则它只会将 urlParameters 设置为 $stateParams,然后它就可以正常工作,并且所有内容都设置为 $stateParams。

我是否可以尝试创建一个没有 subUrl 而只有 queryParameters 的 subState?如果是这样怎么办?

最佳答案

不使用 redirectTo 并将父状态设置为 abstract 也很简单。

我认为我对 redirectTo 的使用太盲目了。

在路由/base时我没有收到任何警告,它似乎会自动找到状态base.all并且一切都按预期工作。

关于angularjs - $stateParams 用于 url 中仅包含 queryParameters 的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36082833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com