vue组件内怎样使用vue-paginate插件?

发布于 2022-09-03 14:39:46 字数 1998 浏览 10 评论 0

1.问题

我要做一个前端的分页显示,使用vue-paginate插件。我想.vue组件内使用它的(局部),而不是全局使用,怎样引入这个插件呢?官网的例子是要定义一个vm然后把数据填充到vmdata字段,但是我的组件内部是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 () {
    ...
  },
  ...

这样一来,页面能显示内容了,但是分页无效,控制台有报错提示:

clipboard.png
paginate指令不能被识别,分页失效。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

动听の歌 2022-09-10 14:39:47

问题解决了,修改postdata()中的初值赋值,从''换为[{}]。用[]也会有问题。只能用[{}]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文