欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AngularJS延遲加載html template

 更新時(shí)間:2016年07月27日 15:09:18   作者:boke88188  
這篇文章主要介紹了AngularJS延遲加載html template 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

當(dāng)使用AngularJs中的routes/views模式建立大型網(wǎng)站或者應(yīng)用的時(shí)候,把所有的自定義文件,如controllers和template等在初始化時(shí)全部加載進(jìn)來(lái),不是一個(gè)好的辦法。最好的方式是,初始化時(shí)僅僅加載所需要的文件。這些文件可能會(huì)依賴(lài)一個(gè)連接或者多個(gè)文件,然而它們僅僅被特定的route所使用。當(dāng)我們切換route時(shí),未被加載的文件將會(huì)按需加載。這不但能提高初始化頁(yè)面的速度,而且可以防止帶寬浪費(fèi)。

網(wǎng)上大部分文章都在講通過(guò)$routeProvider以及第三方服務(wù)對(duì)controller的延遲加載,譬如:按需加載 AngularJS 的 Controller 就講解的很詳細(xì)。但是,很少有關(guān)于用$stateProvider對(duì)controller、html/template的延遲加載的文章。盡管對(duì)查看了$stateProvider相關(guān)的很多源代碼,雖然解決了html/template的延遲加載問(wèn)題,但是依然沒(méi)有解決controller的延遲加載問(wèn)題, 遺憾。由于時(shí)間問(wèn)題,先將調(diào)查結(jié)果整理一下,等以后繼續(xù)調(diào)查。

關(guān)于html/template的延遲加載,需要將html文件與home page文件放置于不同目錄,否則會(huì)被自動(dòng)加載進(jìn)去。同樣,也不能用templateUrl進(jìn)行文件指定,否則也會(huì)被自動(dòng)加載進(jìn)去。 $stateProvider.state 的 template屬性支持字符串值和函數(shù),所以可以定義一個(gè)函數(shù)進(jìn)行html文件的加載并緩存,防止重復(fù)加載文件。本想controller做同樣處理,可惜報(bào)找不到controller函數(shù)定義,嘗試很多方法都無(wú)效,等以后研究源代碼看看漏掉了什么。直接上代碼,邏輯不復(fù)雜,就不多啰嗦了。

// 記錄加載過(guò)的html以及controller,防止重復(fù)網(wǎng)絡(luò)加載
$ionic.files = {html: {}, controller: {}};
// 聲明延遲加載html方法
$ionic.getHtml = function getHtml(name) {
if (!$ionic.files.html[name]) {
// 同步ajax請(qǐng)求加載html,并緩存
$ionic.files.html[name] = jQuery.ajax({url: 'views/' + name + ".html", async: false}).responseText;
}
return $ionic.files.html[name];
}
// 聲明延遲加載js方法 function resolveController(name) {
// var fn = $.getScript('assets/controller/' + name + '.js');
jQuery.ajax({"url": 'assets/controller/' + name + '.js', "dataType": "script", "async": false});
// console.log("load " + name);
return name;
} 
$stateProvider.state('login', {
url : "/login",
controller : resolveController("loginController"), 
template : function() { return $ionic.getHtml("login"); }
});

以上所述是小編給大家介紹的AngularJS延遲加載html template的全部敘述,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Angular中實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)視圖實(shí)例代碼

    Angular中實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)視圖實(shí)例代碼

    近兩年當(dāng)中使用Angular開(kāi)發(fā)過(guò)很多項(xiàng)目,其中也涉及到一些樹(shù)形結(jié)構(gòu)視圖的顯示,最近的在項(xiàng)目中封裝了大量的組件,一些組件也有樹(shù)形結(jié)構(gòu)的展示,所以寫(xiě)出來(lái)總結(jié)一下。
    2017-05-05
  • AngularJS 如何在控制臺(tái)進(jìn)行錯(cuò)誤調(diào)試

    AngularJS 如何在控制臺(tái)進(jìn)行錯(cuò)誤調(diào)試

    本文主要介紹AngularJS 如何在控制臺(tái)進(jìn)行錯(cuò)誤調(diào)試,還不錯(cuò),分享給大家,希望給大家做一個(gè)參考。
    2016-06-06
  • Angular.JS學(xué)習(xí)之依賴(lài)注入$injector詳析

    Angular.JS學(xué)習(xí)之依賴(lài)注入$injector詳析

    隨著javaEE的spring框架的興起,依賴(lài)注入(IoC)的概念徹底深入人心,它徹底改變了我們的編碼模式和思維。在A(yíng)ngularJS中也有依賴(lài)注入的概念,像spring中的依賴(lài)注入,但是又有所不同。Angular中只需要在需要的地方聲明一下即可,類(lèi)似模塊的引用,因此十分方便。
    2016-10-10
  • AngularJS中的指令全面解析(必看)

    AngularJS中的指令全面解析(必看)

    下面小編就為大家?guī)?lái)一篇AngularJS中的指令全面解析(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • angular基于路由控制ui-router實(shí)現(xiàn)系統(tǒng)權(quán)限控制

    angular基于路由控制ui-router實(shí)現(xiàn)系統(tǒng)權(quán)限控制

    這篇文章主要介紹了angular基于路由控制ui-router實(shí)現(xiàn)系統(tǒng)權(quán)限控制的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • AngularJS ng-bind 指令簡(jiǎn)單實(shí)現(xiàn)

    AngularJS ng-bind 指令簡(jiǎn)單實(shí)現(xiàn)

    本文主要介紹AngularJS ng-bind 指令,在這里對(duì)ng-bind 指令做了詳細(xì)資料整理并講解,提供了實(shí)例代碼以便大家參考,有需要的小伙伴可以參考下
    2016-07-07
  • AngularJS ng-repeat數(shù)組有重復(fù)值的解決方法

    AngularJS ng-repeat數(shù)組有重復(fù)值的解決方法

    不知道大家是否遇到過(guò)這個(gè)問(wèn)題,在當(dāng)Angular.JS ng-repeat數(shù)組中有重復(fù)項(xiàng)時(shí),系統(tǒng)就會(huì)拋出異常,這是該怎么做?本文通過(guò)示例代碼介紹了詳細(xì)的解決方法,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2016-10-10
  • 妙用Angularjs實(shí)現(xiàn)表格按指定列排序

    妙用Angularjs實(shí)現(xiàn)表格按指定列排序

    使用AngularJS的過(guò)濾器,可以很容易的實(shí)現(xiàn)在表格中,點(diǎn)擊某一列標(biāo)題進(jìn)行排序,實(shí)現(xiàn)代碼也很簡(jiǎn)單,下面小編給大家分享angularjs實(shí)現(xiàn)表格按指定列排序的實(shí)現(xiàn)代碼,需要的的朋友參考下吧
    2017-06-06
  • Angular.JS中指令ng-if的注意事項(xiàng)小結(jié)

    Angular.JS中指令ng-if的注意事項(xiàng)小結(jié)

    這篇文章主要給大家分享了關(guān)于A(yíng)ngular.JS中指令ng-if的一點(diǎn)注意事項(xiàng),分享出來(lái)供大家參考學(xué)習(xí),文中介紹的還是相對(duì)來(lái)說(shuō)比較詳細(xì),對(duì)大家具有一定的參考借鑒價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-06-06
  • AngularJS使用ng-options指令實(shí)現(xiàn)下拉框

    AngularJS使用ng-options指令實(shí)現(xiàn)下拉框

    這篇文章主要介紹了AngularJS使用ng-options指令實(shí)現(xiàn)下拉框效果,ng-option指令使用也很簡(jiǎn)單,下文具體給大家說(shuō)明,對(duì)angularjs 下拉框知識(shí)感興趣的朋友一起看下吧
    2016-08-08

最新評(píng)論