亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

詳解AngularJs路由之Ui-router-resolve(預加載)

2019-11-19 16:20:40
字體:
來源:轉載
供稿:網友

ng-route模塊中的when()和ui-route的state()都提供了resolve屬性。

為什么需要使用resolve?

當路由切換的時候,被路由的頁面中的元素(標簽)就會立馬顯示出來,同時,數據會被準備好并呈現出來。但是注意,數據和元素并不是同步的,在沒有任何設置的情況下,AngularJS默認先呈現出元素,而后再呈現出數據。這樣就會導致頁面會被渲染兩遍,導致“頁面UI抖動”的問題,對用戶不太友好。resolve的出現解決了這個問題。

resolve是干嘛用的

resolve屬性里的值會在路由成功前被預先設定好,然后注入到控制器中。通俗地將,就是等數據都“就位”后,才進行路由(其實我覺得也不能叫路由,因為路由是一些列的操作,其中就包括了設置resolve屬性等等)。這樣的好處就是頁面僅會被渲染一遍。

<!--首頁.html--><div ng-app="myApp"><div><a ui-sref = "index">前往list.html</a></div><div ui-view></div><!--這里是路由視圖存放的地方--></div>
<!--list.html><div>  <h1>HI,這里是list.html</h1>  <a ui-sref="index.list">點擊加載list.html視圖</a>  <div ui-view></div>  <h1>{{user}}</h1>  <h2>{{name}}</h2>  <h3>{{age}}</h3>  <h3>{{email}}</h3></div>
//JSvar app = angular.module('myApp',['ui.router']);app.config(["$stateProvider",function($stateProvider){  $stateProvider    .state("index",{      url:'/',      templateUrl:'list.html',      controller:'myController',      resolve:{        user:function(){          return {            name:"perter",            email:"826415551@qq.com",            age:"18"          }        }      }    })}]);app.controller('myController',function($scope,user){  $scope.name=user.name;  $scope.age=user.age;  $scope.email=user.email;  $scope.user=user;});

我在state方法里面設置了resolve屬性,里面的值是一個名為user的對象,它存有幾個值(格式好像JSON)。并把這個user變量注入到控制器中。這樣就完成了預加載了。

這種把resolve屬性的值(這里是user)注入到控制器的方式有一個非常強大的地方就是,可以運用他來重用控制器,而我們需要做的僅僅只是改變user對象里面的值(tips:如果是嵌套路由的話,不重新設置resolve值則會“繼承”父路由的resolve值,如果不是嵌套路由且不重新設置,則不會正確顯示)。

<!--list.html--><div>  <h1>HI,這里是list.html</h1>  <a ui-sref="index.list">點擊加載list.html視圖</a>  <a ui-sref="index.list2">點擊加載list2.html視圖</a>  <div ui-view></div>  <h1>{{user}}</h1>  <h2>{{name}}</h2>  <h3>{{age}}</h3>  <h3>{{email}}</h3></div>
//jsvar app = angular.module('myApp',['ui.router']);app.config(["$stateProvider",function($stateProvider){  $stateProvider    .state("index",{      url:'/',      templateUrl:'list.html',      controller:'myController',      resolve:{        user:function(){          return {            name:"perter",            email:"826415551@qq.com",            age:"18"          }        }      }    })    .state("index.list",{      url:'/list',      template:'<h1>{{name}}</h1>',      controller:'myController',    })    .state("index.list2",{      url:'/list2',      template:'<h1>{{name}}</h1>',      controller:'myController',      resolve:{        user:function () {          return{          name:"Rose"          }        }      }    })}]);app.controller('myController',function($scope,user){  $scope.name=user.name;  $scope.age=user.age;  $scope.email=user.email;  $scope.user=user;});

這里省略了首頁的html,可以翻到最上面看。重點對比最后的兩個state(),可以發現第一個沒有重新設置resolve屬性,而第二個重新設置了resolve()屬性。他們雖然共用了同一個控制器myController ,但是他們的值卻不相同。

這樣,控制器的可維護性就會得到提高。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品夜间视频香蕉| 日本亚洲欧美成人| 亚洲国产欧美一区二区丝袜黑人| 日韩在线观看精品| 欧美乱大交xxxxx另类电影| 精品国产乱码久久久久久天美| 98午夜经典影视| 欧美自拍视频在线观看| 一区二区在线视频播放| 亚洲色无码播放| 久久久久久亚洲精品不卡| 欧美视频在线免费| 精品动漫一区二区| 亚洲高清在线观看| 亚洲精品乱码久久久久久金桔影视| 国产精品视频1区| 欧美中在线观看| 国产午夜精品一区二区三区| 欧美一区二区三区艳史| 欧美日韩国产在线| 欧洲精品在线视频| 欧美色视频日本高清在线观看| 日韩二区三区在线| 欧美日本高清一区| 动漫精品一区二区| 国产精品一区电影| 麻豆国产va免费精品高清在线| 欧美激情一区二区久久久| 亚洲2020天天堂在线观看| 国产999视频| 亚洲成人在线网| 亚洲摸下面视频| 日韩免费在线免费观看| 成人在线视频网| 久久久女人电视剧免费播放下载| 亚洲午夜久久久影院| 精品国产一区二区三区久久| 国产一区二区日韩精品欧美精品| 在线亚洲午夜片av大片| 久久久精品一区| 精品久久久久久久久国产字幕| 91视频88av| 日日狠狠久久偷偷四色综合免费| 91久久久精品| 欧美高清videos高潮hd| 人人做人人澡人人爽欧美| 亚洲最大福利视频| 久久精品成人一区二区三区| 人人爽久久涩噜噜噜网站| 97香蕉久久超级碰碰高清版| 91免费福利视频| 中文.日本.精品| 久久全国免费视频| 国产在线精品播放| 亚洲天堂av电影| 国产精品日韩欧美综合| 欧美精品成人91久久久久久久| 精品国产91乱高清在线观看| 久久精品视频在线观看| 国产精品激情av在线播放| 在线成人一区二区| 日本sm极度另类视频| 91精品视频观看| 国产丝袜精品视频| 久久久久久这里只有精品| 人人爽久久涩噜噜噜网站| 国产亚洲欧美aaaa| 欧美激情xxxxx| 国产精品亚洲第一区| 色综合视频网站| 91大神在线播放精品| 精品亚洲精品福利线在观看| 亚洲一区第一页| 懂色av中文一区二区三区天美| 91久久精品国产91性色| 久久精品99久久久久久久久| 日韩av123| 成人性生交xxxxx网站| 91亚洲精华国产精华| 欧美丝袜美女中出在线| 91免费综合在线| 欧美黑人性猛交| 欧美日韩美女视频| 91亚洲精品在线| 91在线直播亚洲| 亚洲**2019国产| 国产成人精品视频| 一区二区在线视频播放| 欧美中在线观看| 久久久91精品| 性欧美亚洲xxxx乳在线观看| 日韩高清电影免费观看完整版| 91精品国产免费久久久久久| 欧美性猛交xxxx黑人| 欧美日韩免费在线观看| 欧美视频在线观看免费| 日韩国产在线看| 中文国产亚洲喷潮| 精品国产91乱高清在线观看| 色综合亚洲精品激情狠狠| 欧美制服第一页| 亚洲影院高清在线| 91av视频在线| 亚洲人成啪啪网站| 国产欧亚日韩视频| 日韩成人高清在线| 色综合天天综合网国产成人网| 亚洲成色999久久网站| 日韩免费观看av| 欧美另类99xxxxx| 久久影院中文字幕| 亚洲欧美综合精品久久成人| 日韩综合视频在线观看| 中文字幕欧美视频在线| 欧美xxxx18国产| 国产亚洲精品激情久久| 欧美激情免费在线| 日韩视频免费在线观看| 亚洲a级在线播放观看| 一区二区三区四区精品| 日韩美女写真福利在线观看| 久久精品美女视频网站| 久久精品小视频| 午夜精品理论片| 久久久精品日本| 欧美在线视频一二三| 国产精品一久久香蕉国产线看观看| 亚洲系列中文字幕| 黑人巨大精品欧美一区免费视频| 欧美精品在线免费观看| 精品国产91乱高清在线观看| 欧美国产日韩视频| 日韩在线免费视频| 日本sm极度另类视频| 国产精品中文在线| 成人444kkkk在线观看| 日韩精品在线视频美女| 91成品人片a无限观看| 欧洲成人午夜免费大片| 国产欧美一区二区三区视频| 国产精品第1页| 成人美女av在线直播| 欧美大片免费观看| 国产精品视频精品视频| 91精品国产乱码久久久久久蜜臀| 欧美天天综合色影久久精品| 国产成人午夜视频网址| 91亚洲人电影| 亚洲精品免费网站| 亚洲国产精品久久久久| 成人黄色短视频在线观看| 成人一区二区电影| 色婷婷亚洲mv天堂mv在影片| 成人性生交大片免费看小说| 国产精品∨欧美精品v日韩精品| 国产有码一区二区| 国产精品www色诱视频| 68精品久久久久久欧美| 日韩av电影免费观看高清| 欧美日韩国产精品一区二区不卡中文| 精品国产一区久久久| 国产精品亚洲美女av网站| 欧美激情精品久久久久久蜜臀| 欧美视频免费在线|