【发布时间】:2018-03-26 05:50:59
【问题描述】:
<template>
...
<div class="pagination">
<el-pagination
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="totalCount">
</el-pagination>
</div>
</template>
<script>
import Vue from 'vue';
Vue.use(ElementUI);
export default {
data() {
return {
tableData: [],
orderTableUrl: setting.orderTableUrl,
width: 110,
page_size: 10,
page_num: 1,
messages: [],
totalCount: 100,
}
},
created() {
this.getTableData()
},
methods: {
getTableData: function () {
let self = this;
axios.Get({
url: self.orderTableUrl,
params: {
'page_size': self.page_size,
'page_num': self.page_num
},
callback: function (res) {
self.tableData = res.data.orders;
self.totalCount = res.data.orders_total_pages;
console.log(self.totalCount)
}
});
},
}
}
分页部分使用element.ui。
这是我的问题:在方法回调中,console.log 可以回显实际总页数,但不能在模板上显示,只能在窗口中看到第 1 页。
我对此感到很困惑。
是不是说vue可以在view上立即显示变化数据
【问题讨论】:
-
您的代码应该可以工作。你可以试试
Vue.set(self, 'tableData', res.data.orders);而不是self.tableData = res.data.orders;只是为了它...... -
感谢您的回答。 'tableData' 用于表格数据。它可以工作。 'totalCount' 也可以看到它最终会发生变化。但我很困惑为什么它不能在模板上显示
-
嗯...您没有在粘贴的模板中的任何地方使用它。
标签: javascript vue.js element-ui