Angular-ui-router,如果缺少,则在路由中设置参数

时间:2015-12-03 16:51:51

标签: angularjs angular-ui-router

我的路线如下:

.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';

思考?谢谢你的帮助。

0 个答案:

没有答案