vuejs中data赋初值和ready( )赋值的疑问

1.问题

我在组件内使用分页插件vue-paginate,分页的数据用ready()发起HTTP请求加载,然后赋值给变量posts,它也需要在data()中被赋予初值,但赋予什么样的初值我有疑问。

posts是要分页显示的对象数组,包括titlelink属性。赋予初值[][{}]我感觉都可以,但是赋[]后,刷新页面则分页内容变为空白[{}]则正常。

2.代码

<template>
  <div id="newspost" class="row">
    <div class="col-md-6 col-md-offset-2">

      <ol v-paginate:8="posts">
        <li v-for="post in posts">
          <a href="#">{{ post.title }}</a>
        </li>
      </ol>

    </div>
  </div>
</template>

<script>
import VuePaginate from 'vue-paginate'
export default{
  components: {
    VuePaginate
  },
  data () {
    return {
      posts: [{}]   // !这里,问题的关键! []不行,[{}]则可以
    }
  },
  ready () {
    this.$http({
      url: 'http://mysite/rsite/post',
      method: 'get'
    }).then((response) => {
      var data = JSON.parse(response.data)
      console.log(response)
      if (data.code === 0) {
        this.posts = data.msg
      }
    })
  }
}
</script>
阅读 12.4k
2 个回答

初值用什么都可以,null,空字符,undefined,但为了标准,还是用数组,一般来说,你后面要赋什么样的值,初值就赋什么样的值。里面不需要放对象的,空数组就可以

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题