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

簡(jiǎn)單講解AngularJS的Routing路由的定義與使用

 更新時(shí)間:2016年03月05日 16:38:33   投稿:goldensun  
這篇文章主要介紹了AngularJS的Routing路由的定義與使用,講解了when()和otherwise()兩個(gè)相關(guān)的常用方法,需要的朋友可以參考下

在單頁(yè)面應(yīng)用中,視圖之間的跳轉(zhuǎn)就顯尤為重要的,隨著應(yīng)用越來越復(fù)雜,我們需要用一種方法來精確控制什么時(shí)候該呈現(xiàn)怎樣的頁(yè)面給用戶。

咱們可以通過在主頁(yè)面中引入不同的模板來支持不同頁(yè)面的切換,但是這么做的缺點(diǎn)就是,越來越多的內(nèi)嵌代碼導(dǎo)致最后難以管理。

通過ng-include指令我們可以把很多的模板整合在視圖中,但是我們有更好的方法來處理這種情況,我們可以把視圖打散成layout和模板視圖,然后根據(jù)用戶訪問的特定的URL來顯示需要的視圖

我們可以將這些“碎片”在一個(gè)布局模板中拼接起來

AngularJS通過在$routeProvider($route服務(wù)的提供者)上聲明routes來實(shí)現(xiàn)上面的構(gòu)想

使用$routeProvider,我們可以更好的利用瀏覽歷史的API并且可以讓用戶可以把當(dāng)前路徑存成書簽以方便以后的使用

在我們的應(yīng)用中設(shè)定路由,我們需要做兩件事情:第一,我們需要指出我們存放將要存放新頁(yè)面內(nèi)容的布局模板在哪里。比如,如果我們想在所有頁(yè)面都配上header和footer,我們可以這樣設(shè)計(jì)布局模板:

<header>
 <h1>Header</h1>
</header>
<div class="content">
 <div ng-view></div>
</div>
<footer>
 <h5>Footer</h5>
</footer>

ng-view指令將高速$routeProvider在哪里渲染模板

第二,我們需要配置我們的路由信息,我們將在應(yīng)用中配置$routeProvider

$routeProvider提供了兩種方法處理路由:when和otherwise。 方法when接收兩個(gè)參數(shù),第一個(gè)設(shè)置$location.path(). (直接用“//”也沒有問題)


定義
定義路由非常容易,在我們的應(yīng)用mian模塊里面注入ngRoute依賴就可以了

angular.module('myApp', ['ngRoute'])
 .config(function($routeProvider) {});

現(xiàn)在,我們就可以給應(yīng)用定義路由了。在路由模塊里面的.config()方法里面注入了$routeProvider,上面的代碼給我們演示了兩個(gè)用于定義路由的方法。

when()

when()方法有兩個(gè)參數(shù),我們希望匹配的瀏覽器url和路由操作對(duì)象。一般main route經(jīng)常使用“/”來表示,也可以定義URL參數(shù),在controller里面就使用$routeParams獲取url參數(shù)。

templateUrl: 表示路由跳轉(zhuǎn)的view模板

controller: 控制器

angular.module('myApp', ['ngRoute'])
  .config(function($routeProvider) {
   $routeProvider
    .when('/', {
     templateUrl: 'views/main.html',
     controller: 'MainCtrl'
    })
    .when('/day/:id', {
     templateUrl: 'views/day.html',
     controller: 'DayCtrl'
    })

otherwise()

otherwise()定義了當(dāng)應(yīng)用找不到指定路由的時(shí)候跳轉(zhuǎn)的路由

angular.module('myApp', ['ngRoute'])
.config(function($routeProvider) {
 $routeProvider
  .when('/', {
   templateUrl: 'views/main.html',
   controller: 'MainCtrl'
  })
  .when('/day/:id', {
   templateUrl: 'views/day.html',
   controller: 'DayCtrl'
  })
  .otherwise({
   redirectTo: '/'
  });
})

使用
定義好了路由需要怎么使用呢?我們要告訴angular頁(yè)面的哪一個(gè)部分是我們希望轉(zhuǎn)換的,這需要使用到ng-view指令

<div class="header">My page</div>
<div ng-view></div>
<span class="footer">A footer</span>

這樣就只有<div ng-view></div>會(huì)被更新, header/footer都始終保持不變

相關(guān)文章

  • Angular.JS內(nèi)置服務(wù)$http對(duì)數(shù)據(jù)庫(kù)的增刪改使用教程

    Angular.JS內(nèi)置服務(wù)$http對(duì)數(shù)據(jù)庫(kù)的增刪改使用教程

    我們可以使用內(nèi)置的$http服務(wù)直接同外部進(jìn)行通信。$http服務(wù)只是簡(jiǎn)單的封裝了瀏覽器原生的XMLHttpRequest對(duì)象,下面這篇文章主要給大家介紹了關(guān)于Angular.JS內(nèi)置服務(wù)$http對(duì)數(shù)據(jù)庫(kù)的增刪改等操作的相關(guān)資料,需要的朋友可以參考下。
    2017-05-05
  • 簡(jiǎn)單談?wù)凙ngular中的獨(dú)立組件的使用

    簡(jiǎn)單談?wù)凙ngular中的獨(dú)立組件的使用

    這篇文章主要介紹了簡(jiǎn)單談?wù)凙ngular中的獨(dú)立組件的使用的相關(guān)資料,通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),需要的朋友可以參考下
    2022-08-08
  • Angular依賴注入optional?constructor?parameters概念

    Angular依賴注入optional?constructor?parameters概念

    這篇文章主要為大家介紹了Angular?依賴注入領(lǐng)域里?optional?constructor?parameters?的概念及使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 詳解webpack+angular2開發(fā)環(huán)境搭建

    詳解webpack+angular2開發(fā)環(huán)境搭建

    這篇文章主要介紹了詳解webpack+angular2開發(fā)環(huán)境搭建,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • angular route中使用resolve在uglify壓縮后問題解決

    angular route中使用resolve在uglify壓縮后問題解決

    這篇文章主要介紹了angular route中使用resolve在uglify壓縮后問題解決的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • 分享Angular http interceptors 攔截器使用(推薦)

    分享Angular http interceptors 攔截器使用(推薦)

    AngularJS 是一個(gè) JavaScript 框架。它可通過 <script> 標(biāo)簽添加到 HTML 頁(yè)面。這篇文章主要介紹了分享Angular http interceptors 攔截器使用(推薦),需要的朋友可以參考下
    2019-11-11
  • 讓angularjs支持瀏覽器自動(dòng)填表

    讓angularjs支持瀏覽器自動(dòng)填表

    簡(jiǎn)單來說Angular.js是google開發(fā)者設(shè)計(jì)和開發(fā)的一套前端開發(fā)框架,幫助你簡(jiǎn)化前端開發(fā)的負(fù)擔(dān)。當(dāng)然,這里有很多其它的前端開發(fā)框架,但是如何選擇合適的前端框架對(duì)于我們這些開發(fā)人員來說就不是那么容易了!
    2014-11-11
  • Angular4集成ng2-file-upload的上傳組件

    Angular4集成ng2-file-upload的上傳組件

    本篇文章主要介紹了Angular4集成ng2-file-upload的上傳組件,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • 簡(jiǎn)介AngularJS中使用factory和service的方法

    簡(jiǎn)介AngularJS中使用factory和service的方法

    這篇文章主要簡(jiǎn)單介紹了AngularJS中使用factory和service的方法,主要針對(duì)自定義工廠和服務(wù)的創(chuàng)建來講,需要的朋友可以參考下
    2015-06-06
  • AngularJS基礎(chǔ) ng-include 指令簡(jiǎn)單示例

    AngularJS基礎(chǔ) ng-include 指令簡(jiǎn)單示例

    本文主要介紹AngularJS ng-include 指令,這里對(duì)ng-include的基本知識(shí)做了整理,并附有代碼實(shí)例,有需要的朋友可以參考下
    2016-08-08

最新評(píng)論

云和县| 额济纳旗| 阿克陶县| 平远县| 苗栗市| 淮滨县| 蒙城县| 嘉黎县| 建宁县| 东明县| 嘉义市| 介休市| 南靖县| 南川市| 浪卡子县| 丹凤县| 兖州市| 新丰县| 石台县| 怀仁县| 阜宁县| 卓资县| 定兴县| 宁城县| 黔东| 介休市| 蒲江县| 德安县| 武义县| 大荔县| 志丹县| 黑河市| 汽车| 文登市| 台湾省| 定兴县| 长岛县| 香河县| 卢龙县| 武川县| 兴宁市|