我如何在 Vue 中为 v 模型使用多维数组?

How can i use an multidimensional array for the v-model in Vue?

我想根据用户检查的属性值为在线商店生成属性变体。

问题是我不知道如何从 v-model 访问属性值以及什么类型的数据必须是 v-model?

我卡住了 here.Below 是我的代码。

谢谢!

<div v-for="(attribute, index) in attributes">
    <p>{{ attribute.name }}</p>
    <div v-for="(attributevalue,indexval) in attribute.attribute_values">
        <input v-model="attributes[index][indexval]"  :value="attributevalue.id">
        <label>{{ attributevalue.name }}</label>
    </div>
</div>
<p>Generate</p>

export default {
   props:{
     attributes:{
      type:Array
     }
   }
}

如果你想将'id'绑定到input then,这就是你应该做的-

<input type="text" v-model="attributevalue.id" >

不需要此 attributes[index][indexval],因为您有一个嵌套的 for 循环,其功能完全相同。因此,您可以直接使用 attributevalue 来访问其在 v-model.

中的属性

关于 v-model 的注释:

这是 vue 中的一种双向绑定机制,只要您的组件支持该类型,它就会接受您想传递给底层组件的任何类型的值。在这种情况下,文本类型的输入接受 string/numeric 个值。

v-model 内部使用不同的属性并为不同的输入元素发出不同的事件:

  • text 和 textarea 元素使用值 属性 和输入事件;
  • 复选框和单选按钮使用选中的 属性 和更改事件;
  • select 字段使用值作为道具并作为事件更改。