首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >v-for与模型vuejs

v-for与模型vuejs
EN

Stack Overflow用户
提问于 2022-11-24 18:48:23
回答 1查看 57关注 0票数 1

我需要执行一个v- for,但是我不知道如何为v-for中的每个不同组件添加一个v-模型;

代码语言:javascript
复制
<template>
<ProfilePasswordField
      v-for="(item, index) in profilePasswordItems" 
      :key="index"
      :profilePasswordItem="item"
      v-model="???"
>
</template>

这个v-for将永远是三项,我想将v-模型命名为:'passaword','newPassword',confirmNewPassword‘

我如何为v-for中的v-模型添加这些名称?

我试图在data()中做一个列表,但是它没有工作。就像这样:

代码语言:javascript
复制
data (){
        return{
            listPassword: ['passaword', 'newPassword', 'confirmNewPassword']
        }
},
methods: {
        method1 () {
            console.log(this.passaword)
            console.log(this.newPassword)
            console.log(this.confirmNewPassword)
       }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-25 07:27:13

v-model指令不能更新迭代变量本身,因此我们不应该使用for-循环中的线性数组项作为v-model变量。

还有另一种方法你可以这样做-

在父组件中-

代码语言:javascript
复制
<template>
  <div>
    <ProfilePasswordField
      v-for="(item, index) in listPassword" 
      :key="index"
      :profilePasswordItem="item"
      v-model="item.model"
    />
    <button @click="method1()">Click to see changes</button>
 </div>
</template>
    
<script>
  export default {
  name: "SomeParentComponent",

  data() {
    return {
      listPassword: [
        { model: "passaword" },
        { model: "newPassword" },
        { model: "confirmNewPassword" },
      ],
     };
   },
    
   methods: {
     method1() {
       this.listPassword.forEach((item) => {
         console.log(item.model);
       });
     },
   },
  }
 </script>

在您的ProfilePasswordField中,您可以发出输入事件来侦听v-model绑定中受人尊敬的更改。例如,ProfilePasswordField组件可以是这样的-

代码语言:javascript
复制
<template>
  <v-text-field :value="value" @input="$emit('input', $event)"/>
</template>

<script>
 export default {
   name: "ProfilePasswordField",

   props: {
    value: {
     required: true 
    } 
 }
</script>

在父组件的控制台中,您应该看到子组件所做的更改。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74565118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档