2016-11-28 79 views
0

我有一个vue组件,可以从中获取来自api的分页数据。对VueJS 2.0中的数据数组进行迭代

我想要做的就是更新使用较小的分页总迭代列表...所以在我VUE组件模板

<td v-for="item in listItems">...... 
</td> 

,并在脚本

{ 
    data(){ return { items:[]; pageSize:5, page:1 } // items is 20 in total; pageSize is 5 per page 
    computed :{ 
    listItems: function(){ 
     var arr = []; 
     while (i < this.pageSize) { 
     arr.push(this.items[i + (this.page * this.pageSize)]); 
     i++; 
     } 
     return arr ; 
     } 
    }, 
    methods:{ 
     getDATA: function(){ this.$http.get().then(response => { 
        this.items = response.data.data; // array of data objects 
       }); 
      } 
     } 
    } 

,但我得到的空阵列/我猜我不能像正常的阵列迭代

+1

您的代码不完整或不正确。你在哪里实际返回任何listItems? –

+1

请提供实际的代码。你发布的这个东西没有告诉任何东西。 –

+1

控制台说什么?我认为你在页面,pageSize和项目上缺少这个关键字。 –

回答

1

如果我理解你正确这可能是你在找什么

export default { 
    { 
    data() { 
     return { 
     items: [], 
     page: 1, 
     pageSize: 1 
     } 
    }, 
    computed: { 
     listItems() => { 
     while (i < this.pageSize) { 
      this.items[i + (this.page * this.pageSize)]; 
     } 
     } 
    } 
    } 
} 

但我不确定你在做什么,所以这是最好的,我可以用有限的信息做,而且它看起来像你试图设置计算方法中的数据,我不是100%确定您可以做...

+0

对不起,我更新了问题 – Kendall

+0

@Kendall有vue-paginate组件,只是让你知道https://github.com/TahaSh/vue-paginate :) –

+0

@Belmin试过,但没能正确实施。我正在使用表格行......和他的使用列表项 – Kendall