美文网首页
vue for循环v-model双向绑定对象/数组失效

vue for循环v-model双向绑定对象/数组失效

作者: Peter_2B | 来源:发表于2023-08-05 14:47 被阅读0次
普通循环绑定对象属性

是没有问题的,因为在组件实例化完成前,Vue.js已经对data函数中的属性进行了响应式处理

<div v-for="(value, key) in form" :key="key">
      <input v-model="form[key]" :placeholder="key" />
</div>
data(){
    return {
      form:{
         name: 'tom', 
         age: 10,
         city: 'New York'
      }
    }
},

循环绑定对象动态的属性

官网:$set向响应式对象中添加一个 property,并确保这个新 property 同样是响应式的,且触发视图更新

<el-form-item
    v-for="(it, idx) of dynamicList"
    :key="idx"
    :label="it.label"
>
    <el-input v-model="form[it.key]"></el-input>
</el-form-item>
data(){
    return {
      form:{},
      dynamicList: [],
    }
},
watch:{
    dynamicList(){
        this.dynamicList.map(it=>{
            // 若在watch中侦测dynamicList,数据异步请求接口回来的,实例化已经完成,赋值响应式无效
            // this.form[it.key] = '0';
            this.$set(this.form, it.key, '0');
        })
    }
},
created() {
    setTimeout(() => {
        // axios在created发起异步请求获取form对象动态属性 
        let res =  [
            { label: "姓名", key: "name" },
            { label: "年龄", key: "age" },
            { label: "城市", key: "city" },
        ];
        this.dynamicList = res;

        this.dynamicList.map(it=>{
              // 组件实例在created已完成,此处赋值,数据响应式无效
              // this.form[it.key] = '0';
              this.$set(this.form, it.key, '0');
        })
    }, 1000);
}

循环绑定 动态的数组属性

相关文章

  • 2018-09-24(vue指令)路由嵌套

    vue指令 v-for=''(循环数组 对象 数组对象) v-model=''(双向数据绑定,用于表单元素) v-...

  • 2018-09-11 vue的指令

    vue常用指令 v-model:双向数据绑定,常用于表单元素 v-for: 对数组或对象进行循环操作 v-on:时...

  • Vue 2

    v-for="val /value(值) in arr "用来循环数组、对象v-model=" "双向数据绑定,用...

  • Vue基础指令

    Vue循环指令 Vue绑定指令: v-bind:style,v-bind:class: v-model双向数据绑定...

  • vue.js 笔记

    v-for(循环) //html //vue.js v-model(双向数据绑定) //html //vue.js...

  • vue的指令

    ** v-model 双向数据绑定 ** v-for 数组,对象,数值 最后一...

  • vue.js指令 逻辑运算符 分支结构 随机数

    vue.js指令 v-for=" 循环v-model='' 双向绑定,用于表单元素v-on:事件名=...

  • v-model原理

    1. v-model是什么? 在表单控件或者组件上实现双向绑定 2. v-model 原理: vue的双向绑定是由...

  • Vue3的v-model以及传值

    Vue3:v-model 一、v-model:双向绑定 Vue3:v-model规定: 属性名任意(假设为xxx)...

  • Vue 实例 一

    Vue实例基础一 数据的双向绑定 v-model 绑定表单的相应事件,和数据实现动态的双向绑定,需要在Vue实例中...

网友评论

      本文标题:vue for循环v-model双向绑定对象/数组失效

      本文链接:https://www.haomeiwen.com/subject/nnnbpdtx.html