亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Angularjs中UI Router的使用方法

 更新時(shí)間:2016年05月14日 09:38:46   作者:ITperson  
這篇文章主要為大家詳細(xì)介紹了Angularjs中UI Router的使用方法,感興趣的朋友可以參考一下

學(xué)習(xí)使用angular中,ui-route是其中的一個(gè)難點(diǎn),簡(jiǎn)單使用沒(méi)什么問(wèn)題,但涉及到多級(jí)嵌套,就感覺(jué)有茫然,查了很多資料,踩過(guò)很多坑,到目前為止也不能說(shuō)對(duì)ui-route有全面了解;這里只是把填補(bǔ)的幾個(gè)坑記錄一下備忘:

1.abstract的使用:

$stateProvider
  .state('shop',{
    resolve:{
      "shoplist":function($http){
        return $http({
          url:"/bookApp/data/shoplist.php",
          method:"GET"
        })
      }
    },
    abstract: true,
    url:"/shop",
    templateUrl:"templates/shop/list.html",
    controller:"ShopListController"
})

使用abstract屬性有什么用,官方說(shuō)明:abstract: true 表明此狀態(tài)不能被顯性激活,只能被子狀態(tài)隱性激活。不能顯性激活即不能直接通過(guò)"/shop"訪問(wèn)此狀態(tài)路由,那不就是一條死路嗎?那要你何用。等等,我們?cè)倏纯春竺嬉痪洌耗鼙蛔訝顟B(tài)隱性激活,貌似還能活起來(lái),怎么讓他活起來(lái)?我們?cè)倏聪旅娴拇a:

 .state('shop.main',{
    url:"/:id",
    abstract: true,
     templateUrl:"templates/shop/main2.html",
     controller:"ShopMainController"  
  })

狀態(tài):"shop.main"是shop的子狀態(tài),按理論shop.main可以激活shop,我們只需要這樣去訪問(wèn):/shop/1,這樣我們可以激活shop狀態(tài),和"shop.main"

我們暫且不著急,我再再給加上abstract屬性,玩點(diǎn)刺激的,我們?cè)侔鸭せ铧c(diǎn)再往后一級(jí)看下面代碼:

  .state('shop.main.info',{
    url:"",
    templateUrl:"templates/shop/info.html",
    cache:'false',
    controller:"InfoController"
  })
  .state('shop.main.author',{
    url:"/author",
    template:"<div>authorauthorauthorauthorauthor</div>"
  })
  .state('shop.main.samebook',{
    url:"samebook",
    template:"<div>samebooksamebooksamebooksamebooksamebooksamebook</div>"
  })

我看狀態(tài)"shop.main.info"這個(gè)狀態(tài) 的url為""所以我們要激活這個(gè)狀態(tài)只需要這樣去訪問(wèn)"shop/1"所有可以做為"shop.main"的一個(gè)默認(rèn)子狀態(tài)。

此時(shí)模塊的嵌套關(guān)系為:list.html嵌套main.html,main.html嵌套info.html。我們可以通過(guò)"shop/:id"的url激活這個(gè)三層嵌套。

2控制器中參數(shù)的使用:

這個(gè)沒(méi)什么難點(diǎn),在控制器中注入"$stateParams" url參數(shù)在這個(gè)對(duì)象里可以拿得到 :

shop.controller("ShopMainController",['$scope','$stateParams','$rootScope',function($scope,$stateParams,$rootScope){
  $scope.persons = [1,2,3,4,5,6];
  $scope.good = {
    id:$stateParams.id
  }
  cfpLoadingBar.start();

}]);

3.怎么防止模板緩存

在開發(fā)過(guò)程中,模板緩存嚴(yán)重影響我們調(diào)試,有時(shí)候代碼修改了,模板卻沒(méi)有任何變化。很苦惱,其他我們只需要監(jiān)聽(tīng)下stateChangeSuccess,然后再清除$templateCache就行,這里我們采用run方法添加監(jiān)聽(tīng):

bookApp.run(['$rootScope','$templateCache', function ($rootScope, $templateCache) { 

 var stateChangeSuccess = $rootScope.$on('$stateChangeSuccess', stateChangeSuccess); 

 function stateChangeSuccess($rootScope) { 
  $templateCache.removeAll();  
 } 
}]);

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • AngularJS 面試題集錦

    AngularJS 面試題集錦

    本文主要介紹AngularJS的面試題資料整理,這里整理了相關(guān)面試題的資料,幫助大家學(xué)習(xí)理解AngularJS的知識(shí),有興趣的小伙伴可以參考下
    2016-09-09
  • 詳解angular臟檢查原理及偽代碼實(shí)現(xiàn)

    詳解angular臟檢查原理及偽代碼實(shí)現(xiàn)

    這篇文章主要介紹了詳解angular臟檢查原理及偽代碼實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 淺談Angular 的變化檢測(cè)的方法

    淺談Angular 的變化檢測(cè)的方法

    這篇文章主要介紹了淺談Angular 的變化檢測(cè)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Angular.JS實(shí)現(xiàn)無(wú)限級(jí)的聯(lián)動(dòng)菜單(使用demo)

    Angular.JS實(shí)現(xiàn)無(wú)限級(jí)的聯(lián)動(dòng)菜單(使用demo)

    這篇文章主要介紹了Angular.JS中實(shí)現(xiàn)無(wú)限級(jí)聯(lián)動(dòng)菜單的使用示例,本文是在之前的一篇文章的基礎(chǔ)上進(jìn)行的幾個(gè)demo分享,有需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-02-02
  • AngularJS select設(shè)置默認(rèn)值的實(shí)現(xiàn)方法

    AngularJS select設(shè)置默認(rèn)值的實(shí)現(xiàn)方法

    這篇文章主要介紹了AngularJS select設(shè)置默認(rèn)值的實(shí)現(xiàn)方法的相關(guān)資料,這里提供實(shí)現(xiàn)方法幫助大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-08-08
  • Angular4編程之表單響應(yīng)功能示例

    Angular4編程之表單響應(yīng)功能示例

    這篇文章主要介紹了Angular4編程之表單響應(yīng)功能,結(jié)合實(shí)例形式分析了Angular4表單響應(yīng)功能的具體實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • AngularJS修改model值時(shí),顯示內(nèi)容不變的實(shí)例

    AngularJS修改model值時(shí),顯示內(nèi)容不變的實(shí)例

    今天小編就為大家分享一篇AngularJS修改model值時(shí),顯示內(nèi)容不變的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • Angular2 父子組件通信方式的示例

    Angular2 父子組件通信方式的示例

    本篇文章主要介紹了Angular2 父子組件通信方式的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • es6+angular1.X+webpack 實(shí)現(xiàn)按路由功能打包項(xiàng)目的示例

    es6+angular1.X+webpack 實(shí)現(xiàn)按路由功能打包項(xiàng)目的示例

    本篇文章主要介紹了es6+angular1.X+webpack 實(shí)現(xiàn)按路由功能打包項(xiàng)目的示例,具有一定的參考價(jià)值,有需要的可以了解一下
    2017-08-08
  • 解決Angular2 router.navigate刷新頁(yè)面的問(wèn)題

    解決Angular2 router.navigate刷新頁(yè)面的問(wèn)題

    今天小編就為大家分享一篇解決Angular2 router.navigate刷新頁(yè)面的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08

最新評(píng)論