我父母有一个父州和子州。父状态有一个可选参数reviewId。一切正常,当我在$ state.go状态正确打开参数时发送参数。我需要的是在创建新评论时追加(在url中添加可选的查询参数)(在回拨结束后填充id)。
这是用ID:
打开现有评论的网址http://localhost:3000/#/planning?reviewId=1000
创建新评论时,网址为:
http://localhost:3000/#/planning。所以我需要的是保存审核(填充身份证)以追加?reviewId = newId without state.go。
$stateProvider
.state('root.planning', {
url: '/planning?reviewId=',
abstract: true,
params: {
reviewId: null,
readOnlyMode: null,
locked: null,
editButton: null
},
reloadOnSearch:false,
views: {
'@': {
templateUrl: 'src/app/modules/planning/views/planning.tpl.html',
controller: 'PlanningMainController as reviewvm'
}
}
})
.state('root.planning.planning', {
url: '',
params: {
reviewId: null
},
data: {
planningChild: true,
stateTypeCd : "PLA"
},
reloadOnSearch:false,
templateUrl: 'src/app/modules/planning/views/tabs/tab.planning.view.html',
controller: 'PlanningController as planningvm'
})
修改
尝试在访问Id后更新stateParams中的reviewId,然后调用$ state.reload()。使用此方法,stateParams.reviewId在重新加载后为null。而且我想知道如果没有重装我是否可以做到这一点。
答案 0 :(得分:0)
$stateProvider
.state('root.planning', {
url: '/planning?reviewId',
abstract: true,
controller: function($scope, $stateParams) {
$scope.reviewId = $stateParams.reviewId;
}
如果$ statePrams.reviewId可用,则调用该函数。希望这会对你有所帮助