关于 自定义v-model 哪一章的问题

来源:3-9 vue如何自己实现v-model

疆南星耀

2020-07-13

父组件:

<cell v-for="(v,i) in list" v-model="list[i]"/>

当v-model在循环中的时候,在子组件中:

export default {
    props: {
        value: {
            type: Object,
            default: function() {
                return {
                    text: "测试文本2",
                    selectA: true
                }
            }
        }
    },
    model: {
        prop: 'value',
        event: 'change'
    }
}

可以拿到父类传下来的value,但不能通过$emit 进行操作,双越老师这是为什么啊 ?

this.$emit('change','text')

没有办法可以触发change事件,会报错:

[Vue warn]: Invalid prop: type check failed for prop “value”. Expected Object, got Number with value 1.

父组件代码图:

图片描述

子组件图:
图片描述

在v-for循环渲染中,绑定v-model给子组件。子组件虽然能够获取到,但是没有办法通过视频中的方法进行修改操作。
这是为什么呢,或者说有其他方法可以进行修改操作吗

写回答

1回答

双越

2020-07-14

看报错是 props value 的问题,不是  $emit 的问题。

你删掉 this.$emit 这一行,会不会报错?

0
5
疆南星耀
回复
双越
好的,多谢老师。这个不是什么需求,是我看视频的时候想到的,自己用代码试了一下,出现的问题。
2020-07-14
共5条回复

2024版 前端框架及项目面试 聚焦Vue3/React/Webpack

面向1-3年前端的框架及项目面试“刚需内容”

4663 学习 · 1644 问题

查看课程