我想知道有没有办法从 ajax 调用中指定 deepStateRedirect 参数?例如,如果用户在没有参数的情况下进入此状态,则使用解析从数据加载并将参数传递给 deepStateRedirect?因此,它是一种默认参数,并非在所有情况下都是恒定的。
例如:
var states = [];
//
states.push({
name:'app.state1',
url:'/state1',
templateUrl:'state1.html',
resolve:{
data:function(SomeService){
return SomeService.getData();
}
},
deepStateRedirect:{
default:{
state:'app.state1.subState',
params:{
param1: data.property1
}
},
params:true
}
})
states.push({
name:'app.state1.subState',
url:'/subState/{param1}',
templateUrl:'subState.html'
})
更新: 我知道我可以在 state1 控制器中应用该逻辑部分并检查 param1 是否为空,以使用 ajax 调用加载该参数值。但在这种情况下,如果我将使用 $state.go() 那么在浏览器中按下后退按钮后将返回 state1 而不是说明我从哪里导航到 state1