AngularJS 結合 Bootstrap Breadcrumb

AngularJS 結合 Bootstrap Breadcrumb

結構大約為:
– static/vendor/angular.js
– static/vendor/angular-breadcrumb/breadcrumb.js
– index.html

頁面的 HTML 大約是:

  1.  <!DOCTYPE html>
  2.  <html lang="en" ng-app="MyApp">
  3.  <head>
  4.  <meta charset="utf-8">
  5.  <title>My Labs</title>
  6.  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.  <link href="/static/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
  8.  <link href="/static/vendor/bootstrap/css/bootstrap-responsive.min.css"rel="stylesheet">
  9.  <script src="/static/vendor/jquery.js"></script>
  10.  <script src="/static/vendor/angular.js"></script>
  11.  <script src="/static/vendor/angular-breadcrumb/breadcrumb.js"></script>
  12.  <script src="/static/js/application.js"></script>
  13.  </head>
  14.  <body ng-controller="MainController">
  15.  <ul class="breadcrumb">
  16.      <li ng-repeat="breadcrumb in breadcrumbs.getAll()">
  17.          <ng-switch on="$last">
  18.              <span ng-switch-when="true">{{ breadcrumb.name }}</span>
  19.              <span ng-switch-default><a href="#{{ breadcrumb.path }}" class="hand">{{ breadcrumb.name }}</a></span>
  20.          </ng-switch>
  21.          <span class="divider">/</span>
  22.      </li>
  23.      <li class="pull-right"><div id="spinner"><i class="icon-spinner icon-spin icon-1x"></i></div></li>
  24.  </ul>
  25.  </body>
  26.  </html>

而 application.js 大約是:

  1.  var IndexController = function($scopebreadcrumbs) {
  2.      breadcrumbs.set([{
  3.          "name""Home",
  4.          "path""/"
  5.      }]);
  6.  };
  7.  IndexController.$inject = ['$scope''breadcrumbs'];
  8.  
  9.  angular.module('LabApp'['breadcrumbs']).config(['$routeProvider',function($routeProvider) {
  10.      $routeProvider.
  11.          when('/'{
  12.              templateUrl'views/index.html',
  13.              controllerIndexController
  14.          }).
  15.  }).controller('MainController'['$scope''breadcrumbs'function($scope,breadcrumbs) {
  16.      $scope.breadcrumbs = breadcrumbs;
  17.  });

最後的 angular-breadcrumb/breadcrumb.js 應該是這樣:

  1.  angular.module('breadcrumbs'[]);
  2.  angular.module('breadcrumbs').factory('breadcrumbs'function() {
  3.      var breadcrumbs = [];
  4.      var breadcrumbsService = {};
  5.  
  6.      breadcrumbsService.set = function(urls) {
  7.          breadcrumbs = urls;
  8.      };
  9.  
  10.      breadcrumbsService.getAll = function() {
  11.          return breadcrumbs;
  12.      };
  13.  
  14.      breadcrumbsService.getFirst = function() {
  15.          return breadcrumbs[0] || {};
  16.      };
  17.  
  18.      return breadcrumbsService;
  19.  });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章