1.问题
我在组件内使用分页插件vue-paginate,分页的数据用ready()
发起HTTP请求加载,然后赋值给变量posts
,它也需要在data()
中被赋予初值,但赋予什么样的初值我有疑问。
posts
是要分页显示的对象数组,包括title
和link
属性。赋予初值[]
和[{}]
我感觉都可以,但是赋[]
后,刷新页面则分页内容变为空白,[{}]
则正常。
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>
初值用什么都可以,null,空字符,undefined,但为了标准,还是用数组,一般来说,你后面要赋什么样的值,初值就赋什么样的值。里面不需要放对象的,空数组就可以