我的路线如下:
.state('obj.subobj', {
url: '/subobjs?type',
templateUrl: '.../...layout.html'
})
type
参数很重要。如果应用程序在没有该参数的情况下指向此路线(即/subobjs
而不是/subobjs?type=...
),我想在模板加载之前停止所有内容并将其设置为默认值。
我已尝试在控制器中重定向,如下所示:
.state('obj.subobj', {
url: '/subobjs?type',
templateUrl: '.../...layout.html',
controller: function($state, $stateParams) {
if (!$stateParams.type) {
$state.go('obj.subobj', {type: 'default'});
}
}
})
这样可以使我找到正确的页面,但是模板在第一次没有设置参数时仍会加载。
我还尝试在上面的控制器中设置默认值,但这似乎并没有真正设置它。
$stateParams.type = 'default'; // OR
$state.params.type = 'default';
思考?谢谢你的帮助。