在ui-router 1.0之前,我可以在没有页面重新加载的情况下从状态A重定向到状态B时使用 notify:false 。
$state.go('C', {
param1: param1Data
}, {
notify: false
});
现在,通知已被动态参数取代。它在重定向到相同状态或子状态时有效。
我的情况如下: - 状态A重定向到状态C. - 状态B重定向到状态C。
以下是我的路线的简短版本:
{
name: `A`,
url: '/:create/',
template: `flights.html`,
controller: FlightController,
controllerAs: '$ctrl',
resolve: {
booking: ['$transition$', ($transition$ : Transition) => {
...
}]
}
},
{
name: `B`,
url: '/:copy/',
template: `flights.html`,
controller: FlightController,
controllerAs: '$ctrl',
resolve: {
booking: ['$transition$', ($transition$ : Transition) => {
...
}]
}
},
{
name: `C`,
url: '/:delete/',
template: `flights.html`,
controller: FlightController,
controllerAs: '$ctrl',
params: {
booking: { dynamic: true, value: null }
}
}
我想我可以创建两个子女状态,即A.C和B.C.但我想避免代码重复。
当位于状态A时,我无法在不重新加载页面的情况下使用动态参数输入状态C:
// From A
$state.go('C', {
param1: param1Data
};
所以问题是,你有没有想过如何在不使用ui-router 1.0重新加载页面的情况下改变状态?