码迷,mamicode.com
首页 > Web开发 > 详细

四、angularjs在进入界面前加载数据

时间:2017-08-05 16:46:23      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:pos   路由   ret   使用   for   deferred   images   ima   htm   

有时候我们需要在页面加载前就要绑定数据,比如有的图片太多就会导致在加载的过程中很慢,或者title是动态的,通过从后台取数据来改变,如果进入页面后在读取数据会导致以页面刷新数据太慢,这样就需要我们在进入页面时就把数据绑定上去
有两种办法在进入页面前进行加载:
1、使用$ionicView.beforeEnter
 $scope.$on(‘$ionicView.beforeEnter‘, function(event, data) {
                    ...
                })
2、在路由配置中增加提前需要加载的数据:增加resolve
在路由配置中:
.state(‘testView‘, {
                url: ‘/testVuew?params‘,
                templateUrl: ‘src/test/testView.html‘,
                controller: ‘testViewCtrl as testView‘,
                resolve: {
                    greeting: [‘$q‘, ‘Service‘, ‘$stateParams‘, ‘$localStorage‘, function($q, Service, $stateParams, $localStorage) {
                        var deferred = $q.defer();
                        Service.post(‘Store‘, ‘XXXXXXX‘).then(function(data) {
                            deferred.resolve(data.Data);//这里返回提要提前加载的数据
                        });
                        return deferred.promise;
                    }]
                }
            })
然后在controller文件中注入greeting:
技术分享

 

四、angularjs在进入界面前加载数据

标签:pos   路由   ret   使用   for   deferred   images   ima   htm   

原文地址:http://www.cnblogs.com/gunelark/p/7290557.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!