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

基于angular-utils-ui-breadcrumbs使用心得(分享)

 更新時間:2017年11月03日 08:31:14   作者:zc的救贖  
下面小編就為大家?guī)硪黄赼ngular-utils-ui-breadcrumbs使用心得(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

angular-utils-ui-breadcrumbs是一個用來自動生成面包屑導航欄的一個插件,需要依賴angular、UIRouter和bootstrap3.css。生成的界面截圖如下,點擊相應(yīng)的面包屑會跳轉(zhuǎn)到相應(yīng)的路由,點擊相應(yīng)的路由也會自動生成相應(yīng)的面包屑:

安裝:npm install angular-utils-ui-breadcrumbs

github:https://github.com/michaelbromley/angularUtils/tree/master/src/directives/uiBreadcrumbs

模塊依賴:

var app = angular.module('myapp', ['ui.router.state.events','angularUtils.directives.uiBreadcrumbs']);

這里使用了ui.router.state.events模塊,因為該uiBreadcrumbs依賴于$stateChangeSuccess事件,而uiRouter在1.x版本之后推薦使用Transition鉤子,為了兼容原來的版本,將不被推薦的state events事件封裝到了stateEvent.js文件中,該文件在UIRouter包中,所以我們需要引入該文件,angularUtils.directives.uiBreadcrumbs模塊已經(jīng)依賴了ui.router模塊,我們不需要在這里重復引入。

文件目錄結(jié)構(gòu)如下:

<!--index.html-->
<!DOCTYPE html>
<html lang="en" ng-app="myapp" ng-strict-di>
<head>
 <meta charset="UTF-8">
 <title>angular-utils-ui-breadcrumbs</title>
 <link  rel="external nofollow" rel="stylesheet">
</head>
<body>
<ui-breadcrumbs displayname-property="data.displayName" abstract-proxy-property="data.proxy" template-url="./uiBreadcrumbs.tpl.html"></ui-breadcrumbs>
<ui-view name="home"></ui-view>
</body>
<script src="https://cdn.bootcss.com/angular.js/1.6.0/angular.min.js"></script>
<script src="https://cdn.bootcss.com/angular-ui-router/1.0.3/angular-ui-router.min.js"></script>
<script src="stateEvents.js"></script>
<script src="uiBreadcrumbs.js"></script>
<script src="index.js"></script>
</html>
//index.js
var app = angular.module('myapp', ['ui.router.state.events','angularUtils.directives.uiBreadcrumbs']);

app.config(['$stateProvider', '$urlRouterProvider', ($stateProvider, $urlRouterProvider) =>{
 $urlRouterProvider.otherwise('/home/production');
 $stateProvider
  .state('home', {
   abstract: true,
   url: '/home',
   data: {
    proxy: 'home.info'
   },
   views: {
    'home@': {
     template: '<div ui-view="content"></div>'
    }
   }
  })
  .state('home.info', {
   url: '/info',
   data: {
    displayName: 'home'
   },
   views: {
    'content@home': {
     template: '<a ui-sref="^.production">production</a>'
    }
   }
  })
  .state('home.production', {
   url: '/production',
   data: {
    displayName: 'production'
   },
   views: {
    'content@home': {
     template: '<a ui-sref=".fruits">fruits</a>'
    }
   }
  })
  .state('home.production.fruits', {
   url: '/fruits',
   data: {
    displayName: 'fruits'
   },
   views: {
    'content@home': {
     template: `<ul>
      <li><a ui-sref=".detail({type: 'apple'})">apple</a></li>
      <li><a ui-sref=".detail({type: 'banane'})">banane</a></li>
      <li><a ui-sref=".detail({type: 'pear'})">pear</a></li>
     </ul>`
    }
   }
  })
  .state('home.production.fruits.detail', {
   url: '/:type',
   data: {
    displayName: 'detail'
   },
   views: {
    'content@home': {
     template: '<div>{{$resolve.fruit}}</div>'
    }
   },
   resolve: {
    fruit: ['$stateParams', $stateParams =>{
     return $stateParams.type
    }]
   }
  })
}]);

下面詳細說明一下該插件的使用方法:

<ui-breadcrumbs displayname-property="data.displayName"
    [template-url=""]
    [abstract-proxy-property=""]>
</ui-breadcrumbs>

dispalyname-property:(必須的),該屬性指向了你聲明路由時候的state配置對象的某個屬性,該屬性的值就是在該路由下面包屑會展示的值,如果沒有指定,將會展示state的name屬性。

template-url: (可選)指定uiBreadcrumbs.tpl.html的路徑,該文件是ui-breadcrumbs指令的模版,如果不指定,將默認使用以下目錄,以下是源碼的內(nèi)容:

  var moduleName = 'angularUtils.directives.uiBreadcrumbs';
 var templateUrl = 'directives/uiBreadcrumbs/uiBreadcrumbs.tpl.html';

 /**
  * Module
  */
 var module;
 try {
  module = angular.module(moduleName);
 } catch(err) {
  // named module does not exist, so create one
  module = angular.module(moduleName, ['ui.router']);
 }

abstract-proxy-property: (可選),當使用abstract state的時候,我們是不能夠transition到該狀態(tài)的。因此我們就不能夠展示該狀態(tài)的面包屑,因為當點擊一個abstract state將會導致一個異常,所以為了解決這種情況,我們可以讓abstract-proxy-property指向一個state config屬性,該屬性的值是某個state.name,即某個路由,當需要顯示abstract state的面包屑的時候,將會尋找該state.name來代替該abstract state,如以上例子,我們指定了home.info這個狀態(tài)。

以上這篇基于angular-utils-ui-breadcrumbs使用心得(分享)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Angular2+如何去除url中的#號詳解

    Angular2+如何去除url中的#號詳解

    這篇文章主要給大家介紹了關(guān)于Angular 2+時如何去除url中#號的相關(guān)資料,文中先對#號去除的原因及方法進行詳細的介紹和分析,然后通過示例代碼給大家演示去除的方法,需要的朋友可以參考借鑒,下面隨著小編來一起看看吧。
    2017-12-12
  • AngularJS控制器controller給模型數(shù)據(jù)賦初始值的方法

    AngularJS控制器controller給模型數(shù)據(jù)賦初始值的方法

    這篇文章主要介紹了AngularJS控制器controller給模型數(shù)據(jù)賦初始值的方法,涉及AngularJS控制器controller簡單賦值操作實現(xiàn)技巧,需要的朋友可以參考下
    2017-01-01
  • Angular2 路由問題修復詳解

    Angular2 路由問題修復詳解

    這篇文章主要介紹了Angular2 路由問題修復詳解的相關(guān)資料,并建了一個測試工程,把詳細的過程分享給大家,需要的朋友可以參考下
    2017-03-03
  • 詳解Angularjs filter過濾器

    詳解Angularjs filter過濾器

    這篇文章主要介紹了angularjs filter過濾器的相關(guān)資料,需要的朋友可以參考下
    2016-02-02
  • Angular組件化管理實現(xiàn)方法分析

    Angular組件化管理實現(xiàn)方法分析

    這篇文章主要介紹了Angular組件化管理實現(xiàn)方法,結(jié)合具體實例分析了Angular模塊組件化管理以提高代碼復用性的實現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下
    2017-03-03
  • Angular2+國際化方案(ngx-translate)的示例代碼

    Angular2+國際化方案(ngx-translate)的示例代碼

    本篇文章主要介紹了Angular2+國際化方案(ngx-translate)的示例代碼,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • AngularJS變量及過濾器Filter用法分析

    AngularJS變量及過濾器Filter用法分析

    這篇文章主要介紹了AngularJS變量及過濾器Filter用法,結(jié)合實例形式分析了AngularJS變量、過濾器及自定義過濾器的相關(guān)用法與注意事項,需要的朋友可以參考下
    2016-11-11
  • AngularJS實現(xiàn)頁面定時刷新

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

    本篇文章主要介紹了AngularJS實現(xiàn)頁面定時刷新,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 詳解Angular-ui-BootStrap組件的解釋以及使用

    詳解Angular-ui-BootStrap組件的解釋以及使用

    這篇文章主要介紹了詳解Angular-ui-BootStrap組件的解釋以及使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • angularJs中跳轉(zhuǎn)到指定的錨點實例($anchorScroll)

    angularJs中跳轉(zhuǎn)到指定的錨點實例($anchorScroll)

    今天小編就為大家分享一篇angularJs中跳轉(zhuǎn)到指定的錨點實例($anchorScroll),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08

最新評論