vue emit之Property or method “$$v“ is not defined的解决

 更新时间:2023年06月05日 10:54:22   作者:喜樂的CC  
这篇文章主要介绍了vue emit之Property or method “$$v“ is not defined的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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函数,从而返回初始数据的一个全新副本数据对象

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue3全局配置Axios并解决跨域请求问题示例详解

    Vue3全局配置Axios并解决跨域请求问题示例详解

    axios 是一个基于promise的HTTP库,支持promise所有的API,本文给大家介绍Vue3全局配置Axios并解决跨域请求问题,内容从axios部署开始到解决跨域问题,感兴趣的朋友一起看看吧
    2023-11-11
  • vue项目中实现el-dialog组件可拖拽效果

    vue项目中实现el-dialog组件可拖拽效果

    本文主要介绍了vue项目中实现el-dialog组件可拖拽效果,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Vue.js实现对视频预览的示例代码

    Vue.js实现对视频预览的示例代码

    本文主要介绍了Vue.js实现对视频预览的示例代码,通过监听文件选择事件和使用FileReader API,可以实现视频文件的预览功能,感兴趣的可以了解一下
    2025-01-01
  • vue2自定义组件通过rollup配置发布到npm的详细步骤

    vue2自定义组件通过rollup配置发布到npm的详细步骤

    这篇文章主要介绍了vue2自定义组件通过rollup配置发布到npm,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • 详解Vue中公共组件的封装

    详解Vue中公共组件的封装

    在Vue中,组件是构建用户界面的基本单位,封装公共组件是一种良好的实践,可以提高代码的可复用性和可维护性,下面我们就来看看如何封装一个公共的按钮组件吧
    2023-08-08
  • VUE屏幕整体滚动(滑动或滚轮)原生方法举例

    VUE屏幕整体滚动(滑动或滚轮)原生方法举例

    为了实现全屏滚动效果,我们首先需要使用Vue.js框架搭建项目,这篇文章主要给大家介绍了关于VUE屏幕整体滚动(滑动或滚轮)原生方法的相关资料,需要的朋友可以参考下
    2024-01-01
  • vue3 自定义图片放大器效果的示例代码

    vue3 自定义图片放大器效果的示例代码

    这篇文章主要介绍了vue3 自定义图片放大器效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • vue中form表单禁用专用组件介绍

    vue中form表单禁用专用组件介绍

    这篇文章主要介绍了vue中form表单禁用专用组件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • uniapp中如何基于vue3实现输入验证码功能

    uniapp中如何基于vue3实现输入验证码功能

    本文介绍了如何使用uniapp和vue3创建一个手机验证码输入框组件,通过封装VerificationCodeInput.vue组件,并在父组件中引入,可以实现验证码输入功能,适合需要增加手机验证码验证功能的开发者参考使用
    2024-09-09
  • Vue高性能列表GridList组件及实现思路详解

    Vue高性能列表GridList组件及实现思路详解

    这篇文章主要为大家介绍了Vue高性能列表GridList组件及实现思路详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11

最新评论