运行程序时,页面数据加载需要从后台获得,会先显示视图,数据有一些延迟。如何使用URL路由特性,让AngularJS在Ajax请求后台数据已经完成后,再显示视图。
$routeProvider.when('/xxx', { templateUrl: '', controller: '', resolve: { data: function(){ return $http...; } } }); 可以在路由的resolve配置中获取数据,这样的效果就是会先拿到数据后,再显示UI。
return $http is?????????
@大小卒: 具体的数据请求方法。
return $http.get('xxxxxxxxxxxxx')
使用异步的目的就是先把页面呈现出来,再展示数据,免得在请求数据的期间让用户看不到或者看到空白页面,影响用户体验.
你应该在页面中写个loading视图,告诉用户正在加载数据, 数据回来后在显示. 不然ajax的意义在哪?