首页 新闻 搜索 专区 学院

angularjs页面优化

0
悬赏园豆:40 [已解决问题] 解决于 2015-11-28 12:13

运行程序时,页面数据加载需要从后台获得,会先显示视图,数据有一些延迟。如何使用URL路由特性,让AngularJS在Ajax请求后台数据已经完成后,再显示视图。

大小卒的主页 大小卒 | 初学一级 | 园豆:113
提问于:2015-11-22 17:23
< >
分享
最佳答案
0
$routeProvider.when('/xxx', {
    templateUrl: '',
    controller: '',
    resolve: {
        data: function(){
            return $http...;
        }
    }
});

可以在路由的resolve配置中获取数据,这样的效果就是会先拿到数据后,再显示UI。
收获园豆:40
幻天芒 | 高人七级 |园豆:36910 | 2015-11-23 11:52

return $http is?????????

大小卒 | 园豆:113 (初学一级) | 2015-12-24 12:22

@大小卒: 具体的数据请求方法。

return $http.get('xxxxxxxxxxxxx')

幻天芒 | 园豆:36910 (高人七级) | 2015-12-24 13:37
其他回答(1)
0

使用异步的目的就是先把页面呈现出来,再展示数据,免得在请求数据的期间让用户看不到或者看到空白页面,影响用户体验.

你应该在页面中写个loading视图,告诉用户正在加载数据, 数据回来后在显示. 不然ajax的意义在哪?

jio92 | 园豆:1064 (小虾三级) | 2015-11-23 10:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册