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

AngularJS 路由詳解和簡單實(shí)例

 更新時(shí)間:2016年07月28日 15:59:21   投稿:lqh  
本文主要介紹AngularJS 路由,這里整理了相關(guān)資料進(jìn)行詳細(xì)介紹,并附實(shí)例代碼和實(shí)現(xiàn)效果圖,有需要的小伙伴可以參考下

AngularJS 路由

本章節(jié)我們將為大家介紹 AngularJS 路由。

AngularJS 路由允許我們通過不同的 URL 訪問不同的內(nèi)容。

通過 AngularJS 可以實(shí)現(xiàn)多視圖的單頁Web應(yīng)用(single page web application,SPA)。

通常我們的URL形式為 http://runoob.com/first/page,但在單頁Web應(yīng)用中 AngularJS 通過 # + 標(biāo)記 實(shí)現(xiàn),例如:

http://runoob.com/#/first
http://runoob.com/#/second
http://runoob.com/#/third

當(dāng)我們點(diǎn)擊以上的任意一個(gè)鏈接時(shí),向服務(wù)端請的地址都是一樣的 (http://runoob.com/)。 因?yàn)?# 號(hào)之后的內(nèi)容在向服務(wù)端請求時(shí)會(huì)被瀏覽器忽略掉。 所以我們就需要在客戶端實(shí)現(xiàn) # 號(hào)后面內(nèi)容的功能實(shí)現(xiàn)。 AngularJS 路由 就通過 # + 標(biāo)記 幫助我們區(qū)分不同的邏輯頁面并將不同的頁面綁定到對應(yīng)的控制器上。

在以上圖形中,我們可以看到創(chuàng)建了兩個(gè) URL: /ShowOrders 和 /AddNewOrder。每個(gè) URL 都有對應(yīng)的視圖和控制器。

接下來我們來看一個(gè)簡單的實(shí)例:

<html>
  <head>
  	<meta charset="utf-8">
    <title>AngularJS 路由實(shí)例 - 菜鳥教程</title>
  </head>
  <body ng-app='routingDemoApp'>
   
    <h2>AngularJS 路由應(yīng)用</h2>
    <ul>
      <li><a href="#/">首頁</a></li>
      <li><a href="#/computers">電腦</a></li>
      <li><a href="#/printers">打印機(jī)</a></li>
      <li><a href="#/blabla">其他</a></li>
    </ul>
     
    <div ng-view></div>
    <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
    <script src="http://apps.bdimg.com/libs/angular-route/1.3.13/angular-route.js"></script>
    <script>
      angular.module('routingDemoApp',['ngRoute'])
      .config(['$routeProvider', function($routeProvider){
        $routeProvider
        .when('/',{template:'這是首頁頁面'})
        .when('/computers',{template:'這是電腦分類頁面'})
        .when('/printers',{template:'這是打印機(jī)頁面'})
        .otherwise({redirectTo:'/'});
      }]);
    </script>
   
   
  </body>
</html>

運(yùn)行結(jié)果:

AngularJS 路由應(yīng)用

這是首頁頁面

實(shí)例解析:

1、載入了實(shí)現(xiàn)路由的 js 文件:angular-route.js。

2、包含了 ngRoute 模塊作為主應(yīng)用模塊的依賴模塊。

angular.module('routingDemoApp',['ngRoute'])

3、使用 ngView 指令。

<div ng-view></div>

該 div 內(nèi)的 HTML 內(nèi)容會(huì)根據(jù)路由的變化而變化。

配置 $routeProvider,AngularJS $routeProvider 用來定義路由規(guī)則。

module.config(['$routeProvider', function($routeProvider){
  $routeProvider
    .when('/',{template:'這是首頁頁面'})
    .when('/computers',{template:'這是電腦分類頁面'})
    .when('/printers',{template:'這是打印機(jī)頁面'})
    .otherwise({redirectTo:'/'});
}]);

AngularJS 模塊的 config 函數(shù)用于配置路由規(guī)則。通過使用 configAPI,我們請求把$routeProvider注入到我們的配置函數(shù)并且使用$routeProvider.whenAPI來定義我們的路由規(guī)則。

$routeProvider 為我們提供了 when(path,object) & otherwise(object) 函數(shù)按順序定義所有路由,函數(shù)包含兩個(gè)參數(shù):

第一個(gè)參數(shù)是 URL 或者 URL 正則規(guī)則。

第二個(gè)參數(shù)是路由配置對象。

路由設(shè)置對象

AngularJS 路由也可以通過不同的模板來實(shí)現(xiàn)。

$routeProvider.when 函數(shù)的第一個(gè)參數(shù)是 URL 或者 URL 正則規(guī)則,第二個(gè)參數(shù)為路由配置對象。

路由配置對象語法規(guī)則如下:

$routeProvider.when(url, {
  template: string,
  templateUrl: string,
  controller: string, function 或 array,
  controllerAs: string,
  redirectTo: string, function,
  resolve: object<key, function>
});

參數(shù)說明:

template:

如果我們只需要在 ng-view 中插入簡單的 HTML 內(nèi)容,則使用該參數(shù):

.when('/computers',{template:'這是電腦分類頁面'})

templateUrl:

如果我們只需要在 ng-view 中插入 HTML 模板文件,則使用該參數(shù):

$routeProvider.when('/computers', {
  templateUrl: 'views/computers.html',
});

以上代碼會(huì)從服務(wù)端獲取 views/computers.html 文件內(nèi)容插入到 ng-view 中。

controller:

function、string或數(shù)組類型,在當(dāng)前模板上執(zhí)行的controller函數(shù),生成新的scope。

controllerAs:

string類型,為controller指定別名。

redirectTo:

重定向的地址。

resolve:

指定當(dāng)前controller所依賴的其他模塊。

實(shí)例

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<script src="http://apps.bdimg.com/libs/angular-route/1.3.13/angular-route.js"></script>

<script type="text/javascript">
angular.module('ngRouteExample', ['ngRoute'])
.controller('HomeController', function ($scope) { $scope.$route = $route;})
.controller('AboutController', function ($scope) { $scope.$route = $route;})
.config(function ($routeProvider) {
  $routeProvider.
  when('/home', {
    templateUrl: 'embedded.home.html',
    controller: 'HomeController'
  }).
  when('/about', {
    templateUrl: 'embedded.about.html',
    controller: 'AboutController'
  }).
  otherwise({
    redirectTo: '/home'
  });
});
</script>

 
</head>

<body ng-app="ngRouteExample" class="ng-scope">
 <script type="text/ng-template" id="embedded.home.html">
   <h1> Home </h1>
 </script>

 <script type="text/ng-template" id="embedded.about.html">
   <h1> About </h1>
 </script>

 <div> 
  <div id="navigation"> 
   <a href="#/home">Home</a>
   <a href="#/about">About</a>
  </div>
   
  <div ng-view="">
  </div>
 </div>
</body>
</html>

運(yùn)行結(jié)果:

Home About

Home

以上就是對AngularJS 路由的資料整理,希望能幫助AngularJS 編程的同學(xué)。

相關(guān)文章

  • angular 實(shí)現(xiàn)同步驗(yàn)證器跨字段驗(yàn)證的方法

    angular 實(shí)現(xiàn)同步驗(yàn)證器跨字段驗(yàn)證的方法

    幾乎每個(gè)web應(yīng)用都會(huì)用到表單,那么驗(yàn)證器就是必不可少的東西,這篇文章主要介紹了angular 實(shí)現(xiàn)同步驗(yàn)證器跨字段驗(yàn)證的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 簡單講解AngularJS的Routing路由的定義與使用

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

    這篇文章主要介紹了AngularJS的Routing路由的定義與使用,講解了when()和otherwise()兩個(gè)相關(guān)的常用方法,需要的朋友可以參考下
    2016-03-03
  • Angular應(yīng)用懶加載模塊配置管理詳解

    Angular應(yīng)用懶加載模塊配置管理詳解

    這篇文章主要為大家介紹了Angular應(yīng)用懶加載模塊配置管理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • 關(guān)于使用axios的一些心得技巧分享

    關(guān)于使用axios的一些心得技巧分享

    vue更新到2.0之后,作者就宣告不再對vue-resource更新,而是推薦的axios,所以下面這篇文章主要給大家分享了關(guān)于使用axios的一些心得技巧,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • angularjs中的$eval方法詳解

    angularjs中的$eval方法詳解

    下面小編就為大家?guī)硪黄猘ngularjs中的$eval方法詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • AngularJS改變元素顯示狀態(tài)

    AngularJS改變元素顯示狀態(tài)

    本文主要介紹使用AngularJS提供的ng-show和ng-hide指令實(shí)現(xiàn)自動(dòng)監(jiān)聽某布爾型變量來改變元素顯示狀態(tài)。下面跟著小編一起來看下吧
    2017-04-04
  • AngularJS指令與指令之間的交互功能示例

    AngularJS指令與指令之間的交互功能示例

    這篇文章主要介紹了AngularJS指令與指令之間的交互功能,結(jié)合實(shí)例形式分析了AngularJS指令交互操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-12-12
  • 淺談AngularJs 雙向綁定原理(數(shù)據(jù)綁定機(jī)制)

    淺談AngularJs 雙向綁定原理(數(shù)據(jù)綁定機(jī)制)

    本篇文章主要介紹了淺談AngularJs 雙向綁定原理(數(shù)據(jù)綁定機(jī)制),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • Angular 獨(dú)立組件入門指南

    Angular 獨(dú)立組件入門指南

    這篇文章主要為大家介紹了Angular 獨(dú)立組件入門教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • AngularJS教程之MVC體系結(jié)構(gòu)詳解

    AngularJS教程之MVC體系結(jié)構(gòu)詳解

    本文主要講解AngularJS MVC體系結(jié)構(gòu),這里提供詳細(xì)的教程供大家學(xué)習(xí)參考,有需要的小伙伴可以參考下
    2016-08-08

最新評(píng)論

邯郸市| 理塘县| 福贡县| 衡水市| 祁门县| 六安市| 德州市| 射阳县| 通榆县| 嘉定区| 肥城市| 吴川市| 西林县| 巩义市| 枞阳县| 陵川县| 徐闻县| 通化市| 永登县| 景谷| 加查县| 南岸区| 虎林市| 龙陵县| 阳新县| 前郭尔| 上饶市| 丘北县| 克东县| 壤塘县| 德惠市| 洛阳市| 镇坪县| 瑞金市| 丹巴县| 斗六市| 丰城市| 衡东县| 惠东县| 莎车县| 北川|