$rootScope
我的应用程序在初始化时需要从外部源加载一些数据。由于数据来自外部来源,因此无法保证加载数据所需的时间。我想推迟视图的渲染,直到数据加载成功。有没有办法做到这一点?
请注意,我没有为此应用程序使用 Angular 路由。
这是一个简化的演示
$rootScope
我的应用程序在初始化时需要从外部源加载一些数据。由于数据来自外部来源,因此无法保证加载数据所需的时间。我想推迟视图的渲染,直到数据加载成功。有没有办法做到这一点?
请注意,我没有为此应用程序使用 Angular 路由。
这是一个简化的演示
在不使用路由解析的情况下完成异步操作之前,没有一种干净的方法可以阻止视图呈现,但是您可以编写自定义指令来完成相同的工作。
但是,如果这只是为了用户体验,那么使用 ngShow 会很顺利:
<div ng-show="user.name">
<!-- content won't be visible until data is set -->
</div>
这是一个更新的 Plunker:http ://plnkr.co/edit/MXoQNWHvyp9aOXg0QOoC?p=preview
对我来说,这不仅仅是 UI 闪烁的问题。因为在渲染之前没有加载数据,所以我的引导选择没有选择关联的数据值。我能够通过在包装下拉选择的容器中放置一个“ng-if”来解决问题,如下所示:
<div class='bootstrap-select-dropdown-wrapper' ng-if='listofthings.length > 0'>...</div>
希望这可以帮助遇到类似问题的人(注意:我还将 nya-bootstrap-select 模块合并到我的项目中 - bower install nya-bootstrap-select)