真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

使用vuejs2.0怎么實現(xiàn)一個分頁

這篇文章給大家介紹使用vuejs2.0怎么實現(xiàn)一個分頁,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是成都創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個不僅審美在線,而且實用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。

css

.page-bar{
  margin:40px;
}
ul,li{
  margin: 0px;
  padding: 0px;
}
li{
  list-style: none
}
.page-bar li:first-child>a {
  margin-left: 0px
}
.page-bar a{
  border: 1px solid #ddd;
  text-decoration: none;
  position: relative;
  float: left;
  padding: 6px 12px;
  margin-left: -1px;
  line-height: 1.42857143;
  color: #337ab7;
  cursor: pointer
}
.page-bar a:hover{
  background-color: #eee;
}
.page-bar a.banclick{
  cursor:not-allowed;
}
.page-bar .active a{
  color: #fff;
  cursor: default;
  background-color: #337ab7;
  border-color: #337ab7;
}
.page-bar i{
  font-style:normal;
  color: #d44950;
  margin: 0px 4px;
  font-size: 12px;
}

模版


  
        1">上一頁     上一頁            {{ index }}          下一頁     下一頁     
  • {{all}}
  •   

js

var pageBar = new Vue({
  el: '.page-bar',
  data: {
    all: 20, //總頁數(shù)
    cur: 1,//當前頁碼
});

調(diào)用 new Vue({參數(shù)}) 就是創(chuàng)建了一個基本的組件,賦值給變量 pageBar.

el就是element的縮寫,定位模版的位置.data就是數(shù)據(jù)了.

知道了總頁數(shù)但是要顯示頁碼還是要一番計算,所以顯示頁碼就是計算屬性了.

所以我們要用computed 

computed: {
    indexs: function(){
     var left = 1;
     var right = this.all;
     var ar = [];
     if(this.all>= 5){
      if(this.cur > 3 && this.cur < this.all-2){
          left = this.cur - 2
          right = this.cur + 2
      }else{
        if(this.cur<=3){
          left = 1
          right = 5
        }else{
          right = this.all
          left = this.all -4
        }
      }
     }
    while (left <= right){
      ar.push(left)
      left ++
    }
    return ar
    }
     
  }

 看一下頁面顯示出來的循環(huán):


    {{ index }}
  

v-for是循環(huán)渲染輸出計算屬性indexs.每一次循環(huán)的子元素賦值給index v-bind:class綁定class,當渲染到目前的角標的時候加個class v-on:click是綁定了事件,我把index當參數(shù)傳進入了,后面做判斷,默認傳event事件.
然后我們給Vue的選項里面再增加methods字段

methods: {
    btnClick: function(data){//頁碼點擊事件
      if(data != this.cur){
        this.cur = data 
      }
    },
    pageClick: function(){
      console.log('現(xiàn)在在'+this.cur+'頁');
    }
  },

組件交互

組件寫完了,問題來了,用戶點擊發(fā)生頁面改變,你怎么通知其他組件作出相應(yīng)的變化. 可以在頁角發(fā)生改變的函數(shù)下,插一條語句通知其他組件。不過這種方法是很差的做法??梢允褂?/p>

watch: {
    cur: function(oldValue , newValue){
      console.log(arguments);
    }
  }

觀察了cur數(shù)據(jù)當它改變的時候,可以獲取前后值。然后通知其他組件。

完整的代碼:













 
  
        1">上一頁     上一頁            {{ index }}          下一頁     下一頁     
  • {{all}}
  •   
var pageBar = new Vue({   el: '.page-bar',   data: {     all: 8, //總頁數(shù)     cur: 1//當前頁碼   },   watch: {     cur: function(oldValue , newValue){       console.log(arguments);     }   },      methods: {     btnClick: function(data){//頁碼點擊事件       if(data != this.cur){         this.cur = data        }     },     pageClick: function(){       console.log('現(xiàn)在在'+this.cur+'頁');     }   },      computed: {     indexs: function(){      var left = 1;      var right = this.all;      var ar = [];      if(this.all>= 5){       if(this.cur > 3 && this.cur < this.all-2){           left = this.cur - 2           right = this.cur + 2       }else{         if(this.cur<=3){           left = 1           right = 5         }else{           right = this.all           left = this.all -4         }       }      }     while (left <= right){       ar.push(left)       left ++     }     return ar     }         } })

關(guān)于使用vuejs2.0怎么實現(xiàn)一個分頁就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


分享題目:使用vuejs2.0怎么實現(xiàn)一個分頁
本文路徑:http://weahome.cn/article/geisod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部