我有一个来自服务器的json数组,如下所示:
[{
"extension": ".jpeg",
"height": 1080,
"id": 2640878,
"metadataOnly": true,
"name": "84b3250b27f659272161f66ed16e9512.jpeg",
"originalPost": "https://example.com",
"orignalImage": "https://example.com/image.jpeg",
"orignalThumbnail": "https://example.com/image_preview.jpeg",
"score": 1,
"width": 1920
}, ... (other similiar objects)]
使用axios从服务器请求此json,并将其设置为我的Vue实例中的数据属性:
let vm = new Vue({
el: "div#images-list",
data: {
images: []
},
mounted() {
axios.get("/get_images").then(response => {
this.images = response.data;
})
}
});
这会将其装载到指定的块并调用mounted,axios会获取json数组,如果
没有
分配给
this.images
,它打印得很好,我看到了所有字段。但在我分配给
这图像
,包含图像的字段(
originalImage
和
originalThumbnail
)当我试图从javascript控制台打印它们时,它们会变得未定义。所有其他字段都工作并打印其值。最后,这里是HTML(ruby的slim格式):
doctype html
html
head
script src="http://underscorejs.org/underscore-min.js"
script src="https://vuejs.org/js/vue.js"
script src="https://unpkg.com/axios/dist/axios.min.js"
body
div#images-list
div v-for="image in images" v-bind:key="image.id"
a v-bind:href="image.originalImage"
| {{ image.name }}
script src="/js/index.js"
这将生成一页
a
具有图像名称的元素(来自
image.name
)但是没有href属性(因为链接在某种程度上是未定义的)。了解为什么带有图像链接的字段会变得未定义(但其他链接不会,例如。
originalPost
)如何解决这个问题?