vue组件内怎样使用vue-paginate插件?
1.问题
我要做一个前端的分页显示,使用vue-paginate插件。我想在.vue
组件内使用它的(局部),而不是全局使用,怎样引入这个插件呢?官网的例子是要定义一个vm
然后把数据填充到vm
的data
字段,但是我的组件内部是export default
,不知道该怎么做。
按官方readme的意思,要先引入:
import VuePaginate from 'vue-paginate'
Vue.use(VuePaginate)
然后在vm对象中定义数据,并在模版中使用它:
new Vue({
el: '#app',
data: {
langs: ['PHP', 'JavaScript', 'HTML', 'CSS', 'Ruby', 'Python']
}
});
<!-- data -->
<ul v-paginate:3="langs">
<li v-for="lang in langs">
{{ lang }}
</li>
</ul>
<!-- links -->
<ul>
<li v-for="langLink in langsLinks">
<a @click="changeLangsPage(langLink)" href="#">
{{ langLink }}
</a>
</li>
</ul>
但是,我的.vue
组件里用的是export default
,没有vm
对象,我觉得组件内输出一个vm对象,不知道el
写什么,export
写什么也不太确定,而且组件内定义一个vue对象感觉很奇怪。
组件的部分代码:
<script>
import Vue from 'vue'
import VuePaginate from 'vue-paginate'
Vue.use(VuePaginate)
export default{
data () {
return {
post: ''
}
},
ready () {
this.$http({
url: 'http://example.com/query',
method: 'get'
}).then((response) => {
var data = JSON.parse(response.data)
console.log(response)
if (data.code === 0) {
this.post = data.msg
} else {
this.post = []
}
})
}
}
</script>
2.已有尝试
把插件放到components
里:
export default{
components: {
VuePaginate
},
data () {
...
},
...
这样一来,页面能显示内容了,但是分页无效,控制台有报错提示:
即paginate
指令不能被识别,分页失效。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题解决了,修改
post
在data()
中的初值赋值,从''
换为[{}]
。用[]
也会有问题。只能用[{}]