在下面的代码中,我从服务器获取数据并使用它们填充数组:
Vue.http.post('/dbdata', DataBody).then((response) => {
App.$refs.userContent.rasters_previews_list.$set(response); // putting JSON answer to Component data in userContent
console.log("App.$refs.userContent.rasters_previews_list: ", App.$refs.userContent.rasters_previews_list.length);
}, (response) => {
console.log("Error")
});
现在我正在填补。 data
中声明了var userContent = Vue.extend({
。我正在使用App.$refs.userContent.rasters_previews_list
来set
它的值,因为来自SO的一个人说没有其他方法可以访问构造函数。我在用rasters_previews_list
进行更改后尝试输出watch
,但这就是我所看到的。 http://img.ctrlv.in/img/16/08/04/57a326e39c1a4.png我真的不明白我是设置正确还是不正确。如果是的话,为什么我看不到数据而只看到这个废话?
data: function () {
return {
rasters_previews_list: []
}
}
但我如何使用v-for
进行迭代?
<ul v-for="img in rasters_previews_list">
<li>{{img}}</li>
<ul>
此代码显示一个项目符号。所以看起来它假设有一个object
。
我在浏览器控制台中的对象如下所示:
Object {request: Object, data: Array[10], status: 200, statusText: "OK", ok: true}
答案 0 :(得分:1)
您需要设置完整响应,而不仅仅是实际需要的数据。
Vue.http.post('/dbdata', DataBody).then((response) => {
App.$refs.userContent.rasters_previews_list.$set(response.data);
console.log("App.$refs.userContent.rasters_previews_list: ", App.$refs.userContent.rasters_previews_list.length);
}, (response) => {
console.log("Error")
});
如果这不是你想要的,请发表一个完整的例子。