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

簡單講解AngularJS的Routing路由的定義與使用

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

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

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

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

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

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

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

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

<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接收兩個參數(shù),第一個設(shè)置$location.path(). (直接用“//”也沒有問題)


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

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

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

when()

when()方法有兩個參數(shù),我們希望匹配的瀏覽器url和路由操作對象。一般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()定義了當應(yīng)用找不到指定路由的時候跳轉(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頁面的哪一個部分是我們希望轉(zhuǎn)換的,這需要使用到ng-view指令

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

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

您可能感興趣的文章:

相關(guān)文章

  • 簡述Angular 5 快速入門

    簡述Angular 5 快速入門

    這篇文章主要介紹了簡述Angular 5 快速入門,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 利用Angular2的Observables實現(xiàn)交互控制的方法

    利用Angular2的Observables實現(xiàn)交互控制的方法

    這篇文章主要介紹了利用Angular2的Observables實現(xiàn)交互控制的方法,我們主要針對一些在跟服務(wù)器端交互的時候遇到的問題,來看看Observable給我們帶來的特性。感興趣的可以了解一下
    2018-12-12
  • 詳談Angular路由與Nodejs路由的區(qū)別

    詳談Angular路由與Nodejs路由的區(qū)別

    下面小編就為大家?guī)硪黄斦凙ngular路由與Nodejs路由的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • AngularJS基礎(chǔ) ng-click 指令示例代碼

    AngularJS基礎(chǔ) ng-click 指令示例代碼

    本文介紹AngularJS ng-click 指令,這里整理了ng-click指令的基礎(chǔ)知識并且附有簡單示例代碼和實現(xiàn)效果圖,有需要的小伙伴參考下
    2016-08-08
  • Angular.JS通過指令操作DOM的方法

    Angular.JS通過指令操作DOM的方法

    這篇文章主要給大家介紹了Angular.JS通過指令操作DOM的方法,文中給出了詳細的介紹和示例代碼,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • AngularJS實現(xiàn)頁面定時刷新

    AngularJS實現(xiàn)頁面定時刷新

    本篇文章主要介紹了AngularJS實現(xiàn)頁面定時刷新,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • AngularJS中的攔截器實例詳解

    AngularJS中的攔截器實例詳解

    這篇文章主要介紹了AngularJS中的攔截器實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 詳解Angular項目中共享模塊的實現(xiàn)

    詳解Angular項目中共享模塊的實現(xiàn)

    本文主要介紹了Angular的共享模塊的實現(xiàn),對此感興趣的同學(xué),可以實驗一下
    2021-05-05
  • 在Angular項目使用socket.io實現(xiàn)通信的方法

    在Angular項目使用socket.io實現(xiàn)通信的方法

    這篇文章主要介紹了在Angular項目使用socket.io實現(xiàn)通信的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • AngularJS 控制器 controller的詳解

    AngularJS 控制器 controller的詳解

    這篇文章主要介紹了AngularJS 控制器 controller的詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10

最新評論