vuejs中data赋初值和ready( )赋值的疑问
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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
初值用什么都可以,null,空字符,undefined,但为了标准,还是用数组,一般来说,你后面要赋什么样的值,初值就赋什么样的值。里面不需要放对象的,空数组就可以
兄弟,你这问题最终怎么解决的?我现在遇到和你差不多的问题