vuejs2.0怎么实现分页组件

这篇文章主要介绍“vuejs2.0怎么实现分页组件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vuejs2.0怎么实现分页组件”文章能帮助大家解决问题。

阳原网站建设公司成都创新互联,阳原网站设计制作,有大型网站制作公司丰富经验。已为阳原上1000家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的阳原做网站的公司定做!

首先使用基础 Vue 构造器,创建一个“子类”,Vue.extend( options )

var barHtml = ''+
   '
    '+    '1">上一页'+    '上一页'+    ''+     '{{ index }}'+    ''+    '下一页'+    '下一页'+    '
  • {{all}}
  • '+    '
'+   '
';  var navBar = Vue.extend({  template:barHtml,  props:['all','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   }   },  methods: {   btnclick: function(data){   if(data != this.cur){    this.cur = data;    this.$emit('btn-click',data);    }   },   pageClick: function(){   this.$emit('btn-click',this.cur);   }  },   });  window.pagenav = navBar;

这儿创建了一个全局的pagenav,可以在其它地方都可以调用。

html代码


 
 {{msg}}

css代码

.page-bar{
 margin:40px;
}
ul,li{
 margin: 0px;
 padding: 0px;
}
li{
 list-style: none
}
.page-bar ul{
 overflow: hidden;
}
.page-bar li{
 float: left;
}
.page-bar li:first-child>a {
 margin-left: 0px
}
.page-bar a{
 display: block;
 border: 1px solid #ddd;
 text-decoration: none;
 position: relative;
 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;
}

新建一个vue对象实例

var pageBar = new Vue({
 el: '#page',
 data: {
  all: 8, //总页数
  cur: 1,//当前页码
  msg:''
 },
 components:{
  'vue-nav':pagenav
 },
 watch: {
  cur: function(oldValue , newValue){
  console.log('监听cur前与后的值:');
  console.log(arguments);
  }
 }, 
 methods:{
  listenDate:function(data){
  this.cur = data;
  this.msg = '你点击了'+data+ '页';
  }
 }
 })

简单的用js封装了一下分页组件。

实现效果

vuejs2.0怎么实现分页组件














 
 {{msg}}

 var barHtml = ''+    '
    '+    '1">上一页'+    '上一页'+    ''+     '{{ index }}'+    ''+    '下一页'+    '下一页'+    '
  • {{all}}
  • '+    '
'+   '
';  var navBar = Vue.extend({  template:barHtml,  props:['all','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   }   },  methods: {   btnclick: function(data){   if(data != this.cur){    this.cur = data;    this.$emit('btn-click',data);    }   },   pageClick: function(){   this.$emit('btn-click',this.cur);   }  },   });  window.pagenav = navBar;  var pageBar = new Vue({  el: '#page',  data: {   all: 8, //总页数   cur: 1,//当前页码   msg:''  },  components:{   'vue-nav':pagenav  },  watch: {   cur: function(oldValue , newValue){   console.log('监听cur前与后的值:');   console.log(arguments);   }  },   methods:{   listenDate:function(data){   this.cur = data;   this.msg = '你点击了'+data+ '页';   }  }  })

关于“vuejs2.0怎么实现分页组件”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。


文章标题:vuejs2.0怎么实现分页组件
浏览路径:http://scyanting.com/article/gpjisc.html

其他资讯