ui-router注释解析参数用于缩小?

时间:2015-06-06 18:01:53

标签: angularjs angular-ui-router minify

当缩小代码是否未正确注释时,ui-router会中断。我已经完成了这个并且我的大多数路线都有效,但这尤其没有:

var authRedirect = function(s) {
    return ['$state', '$q', 'AuthService', function($state, $q, AuthService) {
        var d = $q.defer();
        var is_auth = AuthService.checkAuth();
        if(!is_auth) {
            d.reject();
            $state.go(s);
        } else 
           d.resolve();
        return d.promise;
    }];
}

// ...

.state('secret', {
    url: '/secret',
    controller: 'TestCtrl',
    templatesUrl: '/test.html',
    resolve: { authRedirect: authRedirect('other') }
})
.state('other', { .... } )

我将另一个状态传递到我的resolve函数中,如果某些条件未满足,则该函数应重定向到该状态。我在其他几个路由中使用此解析函数,因此它是保持ui-router代码清洁的一种方便方法。

虽然非缩小版本工作正常,但它的缩小版本不起作用(它什么都不做)。但似乎我已经正确地注释了它,因为没有抛出任何错误。可能有什么不对?

2 个答案:

答案 0 :(得分:1)

请使用

更新代码
.state('secret', {
    url: '/secret',
    controller: 'TestCtrl',
    templatesUrl: '/test.html',
    resolve: { authRedirect: ['authRedirect', function(authRedirect){ return authRedirect('other')}] }
})

答案 1 :(得分:0)

您也可以尝试更新这样的代码

.state('secret', {
    url: '/secret',
    controller: 'TestCtrl',
    templatesUrl: '/test.html',
    resolve: { authRedirect: function() { return authRedirect('other')} }
})