繁体   English   中英

如何设置多个Angular UI-router解析语句?

[英]How to set multiple Angular UI-router resolve statements?

我正试图阻止页面先于数据加载的情况,以便在页面加载时更新视图。

在UI-router中,您可以设置一个“解析”,该解析可以运行一种方法并在加载页面之前检索数据,这工作得非常好,但是我似乎只能对一种方法执行此操作。 有没有办法在加载页面之前在解决方案中运行多种方法?

实际resolve也可以接收对象。 而且每个属性都必须在控制器之前解析,因此可以实现状态。

实例化controller之前,必须解析下面每个resolve对象deferred.resolve()如果它们是promise则必须通过deferred.resolve() )。 注意如何将每个resolve对象作为参数注入到控制器中( UI-Router docs for resolve )。

例如:

$stateProvider.state('myState', {
    resolve: {
        resolve0: function () { // resolve with plain value
            return 'somedata';
        },
        resolve1: function ($q) { // resolve with promise
            return $q.resolve('somedata');
        },
        resolve2: function ($q) { // reject with promise, it will preven state to finish change
            return $q.reject('some error');
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM