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

有时候我们需要在页面加载前就要绑定数据,比如有的图片太多就会导致在加载的过程中很慢,或者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:

时间: 2024-10-24 11:33:07

四、angularjs在进入界面前加载数据的相关文章

AngularJS中的按需加载ocLazyLoad

欢迎大家讨论与指导 : ) 初学者,有不足的地方希望各位指出 一.前言 ocLoayLoad是AngularJS的模块按需加载器.一般在小型项目里,首次加载页面就下载好所有的资源没有什么大问题.但是当我们的网站渐渐庞大起来,这样子的加载策略让网速初始化速度变得越来越慢,用户体验不好.二来,分模块加载易于团队协作,减低代码冲突. 二.按需加载的对象 各个Controller模块.Directive模块.Server模块.template模板,其实这些都是一些 .js文件或者 .html文件 .  

[Android学习系列2]用webview写界面,加载本地js,js,html文件

以jquery mobile为例 1.在android界面拖入一个webview,然后添加一个internet权限 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.INTERNET"/> <application ........

界面动态加载时报NullPointException

今天在做环境监测的模拟软件时,登陆页面报NullPointException 一般像我们初始化Button时,是Button btn=(Button)findViewById(R.id.button1); 其实完整的写法应该是 Button btn=(Button)this.findViewById(R.id.button1); 但是在onCreate里面,this可以省略. 在自定义的界面动态加载时,需要这样写: EditText et=(EditText)layout.findViewByI

启动界面的加载

其实今天很难过,一个菜鸟级别的ios程序员,同时也是一个感情不顺的loser,  昨天都睡公司,启动界面的加载就从昨天下午搞到今天下午四点,一边压制住情感的波动,一边要去解决觉这种本来就脑残的问题,我想问问自己,男人要不要这样,生活要不要这样苦逼自己,很想放假,很想辞职,来一场没有目的的旅行,可是是菜鸟,菜鸟的特点除了没技术还有就是没有钱嘛,怎么宣泄呢,咳,我知道,今天过不去这个坎,明天照样过不去,那要么死,要么过去,不能回头. 说说这个启动图片吧,xcode6.2  是有一个工具的,Launc

cocos2dx loading界面 预加载资源 与 资源释放

预加载图片: 1.CCTextureCache::sharedTextureCache()->addImage("icon.png"); 2.CCTextureCache::sharedTextureCache()->addImageAsync("icon.png",this,callfuncO_selector(MainLayerLoading::loadingCallBack)); 使用加载的缓存图片: CCSprite* sp =CCSprite:

【实例分解二】angularjs根据路由按需加载Controller

开始笔记之前,把早上检测到的angularjs中的命名问题做一下记录. 检测工具:google浏览器扩展工具angularJS,结果如下: angularjs中,module要遵守lowerCamelCase原则,例:"myApp"; controller要遵守UpperCamelCase原则并且要以Controller结尾,例:"MainController". 这一篇笔记主要对angularjs根据路由按需加载Controller的操作进行了说明,也就是上一篇中

android异步任务加载数据界面实现

android 异步任务的一个后台方法本质是开启一个线程完成耗时操作,其他onPostExecute方法和onPreExecute方法运行在UI主线程用于更新UI界面.为了提高用户体验常见的异步任务加载方式现在总结如下: 1.异步加载界面效果如下: 关键代码如下所示: /** * 异步任务给列表加载数据 */ private void fillData(){ new AsyncTask<Void,Void,Void>(){ @Override protected void onPreExecu

AngularJS:实现页面滚动到底自动加载数据的功能

要实现这个功能,可以通过https://github.com/sroze/ngInfiniteScroll这个第三方控件来实现.步骤如下: 1. 下载ng-infinite-scroll.js程序http://sroze.github.io/ngInfiniteScroll/ 目前版本是1.0.0 2. 如果你是用的jQuery2.0以上版本,还需要修改ng-infinite-scroll.js程序,将所有的将所有的$window.xxx改为$(window).xxx, elem.xxx改为$(

winform异步加载数据到界面

做一个学习记录. 有两个需求: 1.点击按钮,异步加载数据,不卡顿UI. 2.把获取的数据加载到gridview上面. 对于需求1,2,代码如下: public delegate void ShowDatatableDelegate(DataTable dt); private async void button1_Click(object sender, EventArgs e) { //way1.ok Thread t = new Thread(ShowDatatable); t.IsBac