我如何在 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 字段使用值作为道具并作为事件更改。
我想根据用户检查的属性值为在线商店生成属性变体。
问题是我不知道如何从 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 字段使用值作为道具并作为事件更改。