vue emit之Property or method “$$v“ is not defined的解决
作者:喜樂的CC
Property or method “$$v“ is not defined
报错信息
[Vue warn]: Property or method "$$v" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.

场景重现
// 父组件 
<DiyComp
    v-model.trim="value"  // 1.当父组件加了.trim
 ></DiyComp>// 子组件  
props: {
 // 2.而子组件的v-modle又被自定义了(接收)
 value: {
    type: [Number, String],
    default: '',
 },
},
methods: {
  emitValue(newVal) {
    // 3.(返回)
    this.$emit('input', newVal);
  },
},解决办法
去掉父组件的.tirm即可
// 父组件 
<DiyComp
    v-model="value"  // 去掉.trim
 ></DiyComp>解决vue报错 : Property or method “xxx“ is not defined on the instance but referenced during render
如何解决VUE中报错 [Vue warn]: Property or method “xxx” is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property

Vue.component(
    'component1', {
        props: {
        },
        template: ``,
        data:{
            a:"章三",
            b:"李四",
        },
        mounted() {
        },
        methods: {}
    }
)
Vue.component(
    'component2', {
        props: {
        },
        template: ``,
        data() {
            return {
                a:"章三",
                b:"李四",
            }
        },
        mounted() {},
        methods: {}
    }
)在使用vue组件中,组件要是个函数,即将data作为一个函数名、数据对象作为函数返回值来使用。因为组件可能被用来创建多个实例。
如果data仍然是一个纯粹的对象,则所有的实例将共享引用同一个数据对象!
通过提供data函数,每次创建一个新实例后,我们能够调用data函数,从而返回初始数据的一个全新副本数据对象
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
