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

將angular-ui的分頁組件封裝成指令的方法詳解

 更新時間:2017年05月10日 11:01:55   作者:你的一燈  
這篇文章主要給大家介紹了將angular-ui的分頁組件封裝成指令的方法,文中介紹的非常詳細,相信會對大家的學習或者工作覺有一定的參考價值,需要的朋友下面來一起看看吧。

準備工作:

(1)一如既往的我還是使用了requireJS進行js代碼的編譯

(2)必須引入angualrJS , ui-bootstrap-tpls-1.3.2.js , bootstrap.css....

首先拋出幾個問題:

a):何時回用到分頁 (當后端返回的數(shù)據(jù)過多,一頁裝不滿時,我們必須要采取分頁的效果,給用戶良好的視覺效果)

b):分頁一般要傳遞哪些數(shù)據(jù) (總的數(shù)據(jù)數(shù)量,每頁固定顯示多少條數(shù)據(jù),當點擊分頁時候返回當前的頁碼.......這三條是必須的)

第一步:先完成指令的封裝

我會在 js/directives/pagedir 此文件下完成指令的編寫

pagedir.html(指令頁面模板)

<div>

 <button class="btn btn-info" type="button" ng-click="setPage(3)">Set current page to: 3</button>

 <h6><code>rotate</code> defaulted to <code>true</code> and <code>force-ellipses</code> set to <code>true</code>:</h6>

 <uib-pagination class="pagination-sm" 分頁函數(shù)="" ng-change="pageChanged()" 是否將當前頁顯示在中間="" rotate="true" 是否顯示首頁,和末頁的數(shù)字="" boundary-link-numbers="true" 是否顯示“.....”這幾個點="" force-ellipses="true" 顯示頁碼的頁碼tabs數(shù)量(不包含首頁,末頁)="" max-size="maxSize" 當前頁="" ng-model="bigCurrentPage" 每頁顯示的數(shù)據(jù)條數(shù)=""     ="" items-per-page="pageSize" 總的數(shù)據(jù)記錄數(shù)="" total-items="bigTotalItems"      =""> </uib-pagination>

 <pre>Page: {{bigCurrentPage}}/{{numPages}}</pre> 

</div>

pagedir.js(指令的操作js)

define(['app'],function(myapp){

 myapp.directive("pagedir",[function(){

  return{

    templateUrl:"js/directives/pagedir/pagedir.html",//指令的模板頁面

    restrict:'AE',

    scope:{

     data:'=',   //用于獲取頁面控制器傳回來的數(shù)據(jù)(例如:總得記錄數(shù),每頁顯示的數(shù)量等....)

     currentpage:'=', //返回當前頁給頁面控制器

    },

    link:function(s,el,attrs){

     

    },

    controller:['$scope','$log',function($scope,$log){

     $scope.bigTotalItems=$scope.data.bigTotalItems;

     $scope.pageSize=$scope.data.pageSize;

     $scope.bigCurrentPage=$scope.data.bigCurrentPage;

     $scope.numPages=$scope.data.numPages;

     $scope.maxSize=$scope.data.maxSize;

     $scope.setPage = function (pageNo) {//用于設(shè)置回到指定頁

      $scope.bigCurrentPage = pageNo;

      console.log( $scope.bigCurrentPage);

     };

     $scope.pageChanged = function() {//用于返回當前頁

      $log.log('Page changed to: ' + $scope.bigCurrentPage);

      console.log($scope.bigCurrentPage);

      $scope.currentpage=$scope.bigCurrentPage;//賦值,準備傳給頁面控制器,用于接口的取值

     };

    }],

  }

 }]);

}); 

第二步:明確使用地方

我打算在test.html頁面上使用分頁的功能(你可以在各個有多條數(shù)據(jù)現(xiàn)實的頁面使用分頁)

 test.html

<p>this is page dir</p>

<pagedir ng-click="getCurPage()" currentpage="currentpage" data="dataPage"> </pagedir> 

對應(yīng)的控制器:idea_test_ctrl

define(['app','directives/pagedir/pagedir'],function(myapp){

 myapp.controller("idea_test_ctrl",['$scope',function($scope){

  $scope.dataPage={ //用于分頁的數(shù)據(jù)

   maxSize:5,     //顯示五個頁碼按鈕(不包括第一條,和最后一條)

   bigTotalItems:50,   //總的記錄數(shù)(一般來源于接口的返回數(shù)據(jù))

   bigCurrentPage:1,  //當前頁碼

   pageSize:5,    //每頁顯示的數(shù)據(jù)數(shù)量

   numPages:50/5,   //共有多少頁

  };

  $scope.getCurPage=function(){

   console.log($scope.currentpage,"========================================");

   //接下來的調(diào)用后臺接口,返回數(shù)據(jù)

   //...........................一系列的后續(xù)操作

  }

 }]);

});  

最終頁面的顯示效果

順便給出路由的配置

.state('home.ideas.test', {

    url: '/test',

    views: {

     "part": {

      templateUrl: 'tpls/ideas/test.html',

      controller:"idea_test_ctrl"

     }

    }

 }) 

總結(jié)一下:封裝此指令的難點(假如你已經(jīng)了解怎么使用angualr的指令了)

1>:如何雙向傳值的問題(在頁面控制器設(shè)置的數(shù)值傳遞到分頁模塊控制器,以及每次點擊分頁怎么樣將頁碼傳回頁面控制器用于調(diào)用接口的傳參) 

一點分享:link鏈接方法與指令的controller有啥關(guān)系(貌似都可以進行數(shù)據(jù)的操作) 指令的控制器和link函數(shù)可以進行互換。控制器主要是用來提供可在指令間復用的行為,但鏈接函數(shù)只能在當前內(nèi)部指令中定義行為,且無法在指令間復用.link函數(shù)可以將指令互相隔離開來,而controller則定義可復用的行為。 (指令是可以嵌套的,還記得我們指令中有一個require的屬性嗎?)

好了,以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • Angular中sweetalert彈框的基本使用教程

    Angular中sweetalert彈框的基本使用教程

    這篇文章主要給大家介紹了關(guān)于Angular中sweetalert彈框的基本使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-07-07
  • 舉例簡介AngularJS的內(nèi)部語言環(huán)境

    舉例簡介AngularJS的內(nèi)部語言環(huán)境

    這篇文章主要介紹了AngularJS的內(nèi)部語言環(huán)境,展示不同語言環(huán)境下對貨幣或是日期等文本方面所產(chǎn)生的影響,需要的朋友可以參考下
    2015-06-06
  • Angular2中監(jiān)聽數(shù)據(jù)更新的方法

    Angular2中監(jiān)聽數(shù)據(jù)更新的方法

    今天小編就為大家分享一篇Angular2中監(jiān)聽數(shù)據(jù)更新的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Angular項目中$scope.$apply()方法的使用詳解

    Angular項目中$scope.$apply()方法的使用詳解

    這篇文章主要給大家介紹了關(guān)于Angular項目中$scope.$apply()方法使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Angularjs具有一定的參考學習價值,需要的朋友們下面跟著小編一起來看看吧。
    2017-07-07
  • angular4 如何在全局設(shè)置路由跳轉(zhuǎn)動畫的方法

    angular4 如何在全局設(shè)置路由跳轉(zhuǎn)動畫的方法

    本篇文章主要介紹了angular4 如何在全局設(shè)置路由跳轉(zhuǎn)動畫的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • AngularJS入門教程之鏈接與圖片模板詳解

    AngularJS入門教程之鏈接與圖片模板詳解

    本文主要介紹 AngularJS 鏈接與圖片模板的知識,這里整理了相關(guān)資料及示例代碼,有興趣的小伙伴可以參考下
    2016-08-08
  • 在Angular中使用innerHTML屬性綁定的方法

    在Angular中使用innerHTML屬性綁定的方法

    Angular 2+ 支持使用 [innerHTML] 屬性綁定來渲染 HTML,如果你使用插值,它會被視為字符串,本文將介紹如何使用 [innerHTML] 以及一些注意事項,需要的朋友可以參考下
    2024-02-02
  • angular 服務(wù)的單例模式(依賴注入模式下)詳解

    angular 服務(wù)的單例模式(依賴注入模式下)詳解

    這篇文章主要介紹了angular 服務(wù)的單例模式(依賴注入模式下)詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • AngularJS 入門教程之HTML DOM實例詳解

    AngularJS 入門教程之HTML DOM實例詳解

    本文主要介紹AngularJS HTML DOM,這里幫大家整理了詳細的資料,并附實例代碼詳細講解,有需要的小伙伴可以參考下
    2016-07-07
  • AngularJs Injecting Services Into Controllers詳解

    AngularJs Injecting Services Into Controllers詳解

    本文主要介紹AngularJs Injecting Services Into Controllers的知識,這里整理了一下相關(guān)資料,及示例代碼,幫助大家學習和理解,有興趣的小伙伴可以參考下
    2016-09-09

最新評論

原平市| 莱西市| 内江市| 南郑县| 喀什市| 横山县| 双峰县| 松阳县| 昌江| 开封县| 卓尼县| 怀安县| 如皋市| 阜宁县| 商都县| 宜宾县| 霍城县| 怀集县| 同仁县| 虹口区| 平和县| 深圳市| 磐石市| 许昌市| 昆明市| 鹤岗市| 江山市| 邻水| 桂东县| 平湖市| 温州市| 元朗区| 新兴县| 定结县| 洱源县| 黄浦区| 朝阳区| 嘉义市| 蒙自县| 稻城县| 政和县|