最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Angular路由 ng-route和ui-router的區(qū)別

 更新時(shí)間:2017年05月22日 10:59:28   作者:Drenched-oldTimes  
這篇文章主要介紹了詳解Angular路由 ng-route和ui-router的區(qū)別,分別介紹了兩種路由的用法和區(qū)別,有興趣的可以了解一下

什么是路由?

路由是AngularJS構(gòu)建單頁(yè)面應(yīng)用的基礎(chǔ)。

路由,就是網(wǎng)絡(luò)數(shù)據(jù)或者請(qǐng)求進(jìn)行分發(fā)的一個(gè)網(wǎng)絡(luò)組件。

路由就是一個(gè)用于請(qǐng)求URL分發(fā)和跳轉(zhuǎn)的一個(gè)應(yīng)用組件,Angular中通過(guò)$routeProvider路由服務(wù)提供者進(jìn)行核心的配置處理。

ng路由

ng 路由是 AngularJS 官方提供的一種簡(jiǎn)單的路由操作。

ng 路由主要分三個(gè)組成部分:路由指令、路由服務(wù)、路由服務(wù)提供者

路由指令:ng-view

ngView指令主要用于將路由指向的頁(yè)面渲染到當(dāng)前頁(yè)面的布局中。

語(yǔ)法:

<ng-view [onload=”string”] [autoscroll]=”string”></ng-view>
  1. onload:當(dāng)視圖發(fā)生改變時(shí)執(zhí)行屬性值中的表達(dá)式
  2. autoscroll:當(dāng)視圖發(fā)生改變時(shí)自動(dòng)觸發(fā)$anchorScroll事件

事件:

路由視圖一旦加載時(shí),就會(huì)自動(dòng)觸發(fā)$viewContentLoaded 事件

路由提供者:$routeProvider

描述:

內(nèi)置服務(wù)對(duì)象 內(nèi)置服務(wù)對(duì)象 $routeProvider $routeProvider $routeProvider 主要用于進(jìn)行路由配置 主要用于進(jìn)行路由配置
該服務(wù)的使用必須依賴(lài) 該服務(wù)的使用必須依賴(lài) 該服務(wù)的使用必須依賴(lài) ngRoute 模塊,也就是項(xiàng)目中必須添加 模塊,也就是項(xiàng)目中必須添加 animate-route.js

主要方法:

when( path, route); 用于在訪問(wèn) path 路徑時(shí),跳轉(zhuǎn)到 route 指定的視圖
  |-- path:路由跳轉(zhuǎn)的徑
  |-- route:路由對(duì)象 <組件 對(duì)象 >,一個(gè) JSON對(duì)象
 otherwise(params);用于在訪問(wèn)不存的路徑時(shí),跳轉(zhuǎn)的默認(rèn)路徑或者視圖
  |-- params:指定路徑或者路由對(duì)象

內(nèi)置服務(wù)<路由服務(wù)>:$route &$routeParams

$route 服務(wù)被用于進(jìn)行深層超鏈接信息的描述, 它會(huì)監(jiān)聽(tīng) 它會(huì)監(jiān)聽(tīng) $location.url() 地址并進(jìn)行url 地址和指定的路由視圖之間映射關(guān)系。

$routeParams服務(wù)允許開(kāi)發(fā)人員可以進(jìn)行路由中參數(shù)的處理。

ui路由

Angular官方提供的 ng 路由已經(jīng)具備了非常強(qiáng)大的功能,但是在某些情況下存在一些不太好用的地方,項(xiàng)目中如果出現(xiàn)大量路由深層嵌套話官方的ng路由來(lái)處理就不是非常適合了。

第三方提供了一種強(qiáng)大的路由處理功能,對(duì)于路由嵌套也可以非常簡(jiǎn)單的進(jìn)行處理。

ui-route:ui路由,第三方路由

ui路由,主要的功能是項(xiàng)目中的路由操作,和官方的ng路由相比較,它的處理方式更加簡(jiǎn)潔和易用,尤其是涉及到項(xiàng)目中大量路由嵌套時(shí),使用ui路由能更加快捷方便的完成項(xiàng)目中路由的跳轉(zhuǎn)處理。

ui-view:指令

ui -view是 ui 路由中模板頁(yè)面用于數(shù)據(jù)展示的指令,可以作為標(biāo)簽的屬性出現(xiàn),同樣也可以作為標(biāo)簽的屬性出現(xiàn)

<div ui -viewviewviewview></div>>
<ui -view></uiview>

同時(shí)可以給 ui -view 指令命名,用于在路由跳轉(zhuǎn)時(shí)對(duì)應(yīng)名稱(chēng)的 ui -view 上展示對(duì)應(yīng)的數(shù)據(jù)

總結(jié):兩者區(qū)別

① ng路由實(shí)現(xiàn)不了多頁(yè)面應(yīng)用

② ui路由:更加方便地處理路由嵌套,在state()函數(shù)中進(jìn)行即可。

③ngRoute 和 ui-route 相比:

   $when —> $state      路由狀態(tài)配置的時(shí)候          

   $routeParams —> $stateParams    帶參數(shù)的時(shí)候的配置

   $routeProvider —> $stateProvider    依賴(lài)注入的模塊

   <div ng-view></div>  —>  <div ui-view></div>   頁(yè)面中綁定的指令

④ uiRoute中可以嵌套更深層次的路由,也就是路由中可以有路由(大致有兩種情況:1.橫向的 2.縱向的)。

  (1)嵌套路由

 ?。?)多視圖路由

  ngRoute中就不能嵌套更深的路由。

用代碼看一下兩者的區(qū)別:

ng路由:首先要配置注冊(cè) ngRoute 

代碼如下:

 var app = angular.module(“myApp", ['ngRoute']);        
 app.config(["$routeProvider",function($routeProvider){ 
}]); 

ui路由:用hello world舉例子:

<!DOCTYPE html> 
<html ng-app="myApp"> 
  <head> 
    <meta charset="UTF-8"> 
    <title>ui-route</title> 
    <script src="js/lib/angular.min.js" ></script> 
    <script src="js/lib/angular-ui-router.min.js"></script> 
  </head> 
  <style type="text/css"> 
    .active{ 
      color:red; 
      font-weight:bold; 
    } 
  </style> 
  <body> 
    <ul> 
      <li><a ui-sref="hello" ui-sref-active='active'>Hello</a></li> 
      <li><a ui-sref="world" ui-sref-active='active'>world</a></li> 
    </ul> 
    <div> 
      <ui-view></ui-view> 
    </div>   
  </body> 
  <script> 
    var app=angular.module("myApp",["ui.router"]); 
    /* 
     $stateProvider: Ui路由中的狀態(tài)服務(wù)提供者 
    */ 
    app.config(["$stateProvider","$urlRouterProvider",function($stateProvider,$urlRouterProvider){ 
      $urlRouterProvider.otherwise("/hello"); 
       
      $stateProvider.state({ 
        name:"hello", 
        url:"/hello", 
        template:"<h1>這是hello對(duì)應(yīng)的內(nèi)容</h1>" 
      }).state({ 
        name:"world", 
        url:"/world", 
        template:"<h1>這是world跳轉(zhuǎn)之后對(duì)應(yīng)的內(nèi)容</h1>" 
      }); 
    }]); 
 
  </script> 
</html> 

效果如下:

這是簡(jiǎn)單的一個(gè)單頁(yè)面跳轉(zhuǎn),有興趣可以思考一下多頁(yè)面應(yīng)用。

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

相關(guān)文章

  • 在AngularJs中設(shè)置請(qǐng)求頭信息(headers)的方法及不同方法的比較

    在AngularJs中設(shè)置請(qǐng)求頭信息(headers)的方法及不同方法的比較

    在AngularJs中有三種方式可以設(shè)置請(qǐng)求頭信息,文中對(duì)每種方法給大家介紹的非常詳細(xì),選擇那種方式可以根據(jù)自己的需求,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-09-09
  • 淺談Angular 的變化檢測(cè)的方法

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

    這篇文章主要介紹了淺談Angular 的變化檢測(cè)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • AngularJS 過(guò)濾器的簡(jiǎn)單實(shí)例

    AngularJS 過(guò)濾器的簡(jiǎn)單實(shí)例

    本文主要介紹AngularJS 過(guò)濾器,這里提供詳細(xì)了AngularJS 過(guò)濾器詳細(xì)資料,并提供簡(jiǎn)單實(shí)例,有需要的朋友可以參考下
    2016-07-07
  • Angular中管道操作符(|)的使用方法

    Angular中管道操作符(|)的使用方法

    通常我們需要使用管道實(shí)現(xiàn)對(duì)數(shù)據(jù)的格式化,下面這篇文章主要給大家介紹了關(guān)于Angular中管道操作符(|)的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • Angular5集成eventbus的示例代碼

    Angular5集成eventbus的示例代碼

    這篇文章主要介紹了Angular5集成eventbus的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Angular Renderer (渲染器)的具體使用

    Angular Renderer (渲染器)的具體使用

    這篇文章主要介紹了Angular Renderer (渲染器)的具體使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • angular4+百分比進(jìn)度顯示插件用法示例

    angular4+百分比進(jìn)度顯示插件用法示例

    這篇文章主要介紹了angular4+百分比進(jìn)度顯示插件用法,結(jié)合實(shí)例形式分析了Angular4安裝及使用百分比進(jìn)度顯示插件相關(guān)步驟與操作技巧,需要的朋友可以參考下
    2019-05-05
  • angularjs 頁(yè)面自適應(yīng)高度的方法

    angularjs 頁(yè)面自適應(yīng)高度的方法

    本篇文章主要介紹了angularjs 頁(yè)面自適應(yīng)高度的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • Angular2進(jìn)階之如何避免Dom誤區(qū)

    Angular2進(jìn)階之如何避免Dom誤區(qū)

    這篇文章主要介紹了Angular2進(jìn)階之如何避免Dom誤區(qū),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • @angular前端項(xiàng)目代碼優(yōu)化之構(gòu)建Api Tree的方法

    @angular前端項(xiàng)目代碼優(yōu)化之構(gòu)建Api Tree的方法

    這篇文章主要介紹了@angular前端項(xiàng)目代碼優(yōu)化之構(gòu)建Api Tree的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12

最新評(píng)論

靖州| 佛坪县| 荔浦县| 庄河市| 台州市| 汪清县| 安岳县| 自贡市| 乐亭县| 西乌珠穆沁旗| 郑州市| 镇雄县| 大同市| 孝义市| 鄄城县| 霸州市| 秦皇岛市| 昌江| 北票市| 黄龙县| 九龙坡区| 新昌县| 高雄市| 吉隆县| 安远县| 衡水市| 九龙县| 扶余县| 罗江县| 南通市| 宣汉县| 南皮县| 青州市| 台北县| 钟祥市| 石台县| 通江县| 枣强县| 嘉祥县| 丹阳市| 饶平县|