我正在努力迭代这个对象数组。我没有看到任何控制台错误,也不确定数据为什么不显示。如何在Vue.js中使用v-for循环访问一个对象数组?
{
"messages":[
{
"id":1,
"sender":"frank",
"message":"Lorem ipsum...",
"time":1398894261,
"status":"read"
},
{
"id":2,
"sender":"mary",
"message":"Lorem ipsum...",
"time":1390824261,
"status":"read"
},
{
"id":3,
"sender":"john",
"message":"Lorem ipsum...",
"time":1308744200,
"status":"unread"
}
]
}
我正在使用http获取请求,并且数据正在进入,但我无法遍历它。这里是我的JS:
new Vue({
el: '#app',
data: '',
ready: function() {
// GET request
this.$http.get('https://www.example.com/file.json', function (data) {
// set data on vm
this.$set('data', data.messages);
}).error(function (data, status, request) {
console.log('http request error')
})
}
})
这是我的HTML:
<div v-if="data">
<li v-for="d in data">{{ d.sender }}</li>
</div>
<p>{{data[0].sender}}</p> <!-- this part works -->
第一。只需将data.messages分配给this.messages,并使用计算属性从数据中提取消息并在模板中遍历它,而不是$ set。 – 8bit