代码之家  ›  专栏  ›  技术社区  ›  vaartis

vue中未定义具有图像链接的属性。js数据

  •  0
  • vaartis  · 技术社区  · 7 年前

    我有一个来自服务器的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 )如何解决这个问题?

    1 回复  |  直到 7 年前
        1
  •  0
  •   vaartis    7 年前

    所以嗯这是一个拼写错误。事实并非如此 original ,是的 orignal . 没有人注意到。