Vue:可以在控制台中访问嵌套对象值,但不能在模板

时间:2017-10-12 18:28:17

标签: vue.js vuejs2 vue-component

我将以下对象作为道具传递给Vue组件:

formData: {
  buildings:{
    0:{
      'id': 1,
      'name': 'Example'
    }
  }
}

我想将id的值绑定到input,如下所示:

<input type="text" :value="formData.buildings[0].id">

不幸的是,该代码会产生错误:

Error in render function: "TypeError: Cannot read property '0' of undefined"

但是,当我尝试在浏览器的控制台中访问该属性时,我能够检索该值:

> $vm0.formData.buildings[0].id;
< 1

无论如何我可以绑定模板中的嵌套值吗?我猜v-for允许我这样做,但我不愿意这样做,因为:

  • buildings对象将始终只包含一个条目(永远不会有formData.building[1])。嵌套的0键只是为了保持buildings对象的结构与可以有多个嵌套对象的同一级别的其他对象保持一致。
  • 我需要此值的表单包含input个元素,其值将绑定到formData对象中的其他对象。例如,紧跟我需要绑定formData.building[0].id值的输入后,可能需要绑定formData.renovations[0].id值的输入。鉴于此,似乎我需要使用v-for的嵌套元素来实现我想要的目标。

感谢。

0 个答案:

没有答案