欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AngularJS 避繁就簡的路由

 更新時間:2016年07月01日 15:56:47   作者:super_yang_android  
這篇文章主要為大家詳細(xì)介紹了AngularJS 避繁就簡的路由的相關(guān)資料,感興趣的小伙伴們可以參考一下

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

這里寫圖片描述

先看看$routeProvider 的配置對象屬性方法:

路由設(shè)置對象解析:

$routeProvider.when(url(路由名稱), {
 template: string(模板提示字符串),
 templateUrl: string(模板路徑URL),
 controller: string, function 或 array(在當(dāng)前模板創(chuàng)建控制器,生成新的 $scope 作用域),
 controllerAs: string(控制器別名),
 redirectTo: string, function(重定向地址),
 resolve: object<key, function>(當(dāng)前路由所依賴的模塊)
});

實(shí)現(xiàn)路由的大致步驟:

第一步:導(dǎo)入ngRoute模塊

<script type="text/javascript" src="js/angular-route.min.js"></script>

第二步:在應(yīng)用模塊中使用ngRoute

angular.module("routeApp", ["ngRoute"])

第三步:使用 ng-view 指令

<div ng-view class="well" ng-controller='defaultCtrl'></div>

第四步:配置 $routeProvider 路由規(guī)則

...
.config(['$routeProvider', function ($routeProvider){
 $routeProvider
  .when('/home', {
   templateUrl : 'home.tpl.html',
   controller : 'HomeCtrl',
  })
  .when('/computer', {
   templateUrl : 'computer.html',
  })
  .when('/phone', {
   templateUrl : 'phone.html',
  })
  .when('/other', {
   templateUrl : 'other.tpl.html',
   controller : 'OtherCtrl',
  })
}])
...

第五步:通過超鏈接使用路由

<ul class="nav nav-tabs">
 <li><a href="#/home">首頁</a></li>
 <li><a href="#/computer">電腦</a></li>
 <li><a href="#/phone">手機(jī)</a></li>
 <li><a href="#/other">其他</a></li>
</ul>

完整案例:
1 route.html頁面

<html>
 <head>
  <meta charset="utf-8">
  <title>AngularJS 路由實(shí)例</title>
  <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
 </head>
 <body ng-app='routeApp'>
  <ul class="nav nav-tabs">
   <li><a href="#/home">首頁</a></li>
   <li><a href="#/computer">電腦</a></li>
   <li><a href="#/phone">手機(jī)</a></li>
   <li><a href="#/other">其他</a></li>
  </ul>
  <div ng-view class="well" ng-controller='defaultCtrl'></div>


  <script type="text/javascript" src="js/jquery.min.js"></script>
  <script type="text/javascript" src="js/bootstrap.min.js"></script>
  <script type="text/javascript" src="js/angular.min.js"></script>
  <script type="text/javascript" src="js/angular-route.min.js"></script>
  <script type="text/ng-template" id="home.tpl.html">
   <h1>{{data}}</h1>
  </script>
  <script type="text/ng-template" id="other.tpl.html">
   <h1>{{data}}</h1>
  </script>
  <script type="text/javascript">
  angular.module("routeApp", ["ngRoute"])
   .config(['$routeProvider', function ($routeProvider){
    $routeProvider
     .when('/home', {
      templateUrl : 'home.tpl.html',
      controller : 'HomeCtrl',
     })
     .when('/computer', {
      templateUrl : 'computer.html',
     })
     .when('/phone', {
      templateUrl : 'phone.html',
     })
     .when('/other', {
      templateUrl : 'other.tpl.html',
      controller : 'OtherCtrl',
     })
   }])
   .controller('defaultCtrl', function ($scope) {
    $scope.computers = [
     { id: 0, name: "宏基", category: "Test", price: 1.25 },
     { id: 1, name: "聯(lián)想", category: "Test", price: 2.45 },
     { id: 2, name: "蘋果", category: "Test", price: 4.25 }
    ];
    $scope.phones = [
     { id: 0, name: "三星", category: "Test", price: 1.25 },
     { id: 1, name: "榮耀", category: "Test", price: 2.45 },
     { id: 2, name: "魅族", category: "Test", price: 4.25 }
    ];
   })
   .controller("HomeCtrl", function ($scope, $route) {
    $scope.$route = $route;
    $scope.data = "Home Home";
   })
   .controller("OtherCtrl", function ($scope, $route) {
    $scope.$route = $route;
    $scope.data = "Other Other";
   })
  </script>
 </body>
 </html>

2.computer.html 頁面

<div class="panel-body">
 <table class="table table-striped table-hover">
  <thead>
   <tr>
    <th>名稱</th>
    <th>類別</th>
    <th class="text-right">價格</th>
    <th>{{data}}</th>
   </tr>
  </thead>
  <tbody>
   <tr ng-repeat="item in computers">
    <td>{{item.name}}</td>
    <td>{{item.category}}</td>
    <td class="text-right">{{item.price | currency}}</td>
    <td class="text-center">
     <button class="btn btn-xs btn-primary" ng-click="deleteProduct(item)">刪除</button>
     <a href="/edit/{{item.id}}" class="btn btn-xs btn-primary" ng-click="editOrCreateProduct(item)">編輯</a>
     <button class="btn btn-xs btn-primary" ng-click="incrementPrice(item)">+</button>
    </td>
   </tr>
  </tbody>
 </table>
 <div>
  <button class="btn btn-xs btn-primary" ng-click="editOrCreateProduct()">添加</button>
  <a href="create" class="btn btn-xs btn-primary" ng-click="editOrCreateProduct()">Add</a>
 </div>
</div>

3.phone.html 頁面

<div class="panel-body">
 <table class="table table-striped table-hover">
  <thead>
   <tr>
    <th>名稱</th>
    <th>類別</th>
    <th class="text-right">價格</th>
    <th>{{data}}</th>
   </tr>
  </thead>
  <tbody>
   <tr ng-repeat="item in phones">
    <td>{{item.name}}</td>
    <td>{{item.category}}</td>
    <td class="text-right">{{item.price | currency}}</td>
    <td class="text-center">
     <button class="btn btn-xs btn-primary" ng-click="deleteProduct(item)">刪除</button>
     <a href="/edit/{{item.id}}" class="btn btn-xs btn-primary" ng-click="editOrCreateProduct(item)">編輯</a>
     <button class="btn btn-xs btn-primary" ng-click="incrementPrice(item)">+</button>
    </td>
   </tr>
  </tbody>
 </table>
 <div>
  <button class="btn btn-xs btn-primary" ng-click="editOrCreateProduct()">添加</button>
  <a href="create" class="btn btn-xs btn-primary" ng-click="editOrCreateProduct()">Add</a>
 </div>
</div>

單擊“首頁”

這里寫圖片描述

單擊“電腦”

這里寫圖片描述

單擊“手機(jī)”

這里寫圖片描述

單擊“其他”

這里寫圖片描述

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

相關(guān)文章

最新評論