Error in v-on handler: "TypeError: _.mapObject is not a function"解决方案

    最近在做微信公众号开发,需要用到微信的扫码功能,所以集成了相应的功能及相应的JS文件后,点击调用一直报这个问题:

Error in v-on handler: "TypeError: _.mapObject is not a function"

首先怀疑是使用到的_变量没有引入进来,引入后还是在报同样的错误。

在浏览器中打断点调试,发现当加载这个方法的时候,_这个变量指向了lodash.js而不是我需要引用的underscore-min.js文件,所以报方法找不到。

像我们平时引入的第三方库,很多很喜欢用下划线或者通过打包后,就会将原有变量改为符号,而造成引用的多个包之间变量发生冲突。

下面说解决方法:

我是引用了lodash.js和underscore-min.js两个文件后,这两个文件中的变量名冲突了,所以只需要在main.js(或者界面加载之处)增加以下一句代码即可解决:

window.lodash = _.noConflict();

如果你是因为其他文件冲突,可以将lodash换成相应引用名称即可。问题完美解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:在JavaScript中,使用let关键字声明的变量不允许在相同作用域内重复声明。因此,如果在同一个作用域内使用let关键字重复声明同一个变量,会导致报错。例如,在函数func()中,let a = 10;已经声明了变量a,再次使用let关键字声明a = 1;就会报错。\[1\] 引用\[2\]:v-model本质上是一个语法糖,它可以简化双向绑定的操作。例如,<input v-model="test">本质上等同于<input :value="test" @input="test = $event.target.value">。v-model会自动将输入框的值与Vue实例中的test属性进行双向绑定,当输入框的值发生变化时,test属性的值也会相应地更新。\[2\] 引用\[3\]:v-show是Vue.js中的一个指令,用于根据条件控制元素的显示和隐藏。例如,<h1 v-show="ok">Hello!</h1>中的ok是一个布尔类型的data属性,当ok为true时,h1元素会显示出来,当ok为false时,h1元素会隐藏起来。\[3\] 根据你提供的错误信息"Error in v-on handler: "TypeError: _vm.ele.handelChanges is not a function",这个错误是由于在v-on指令中调用了一个不存在的函数ele.handelChanges导致的。请检查你的代码,确保ele.handelChanges函数存在并正确命名。如果ele.handelChanges函数不存在或命名错误,可以修正函数名或添加相应的函数来解决这个错误。 #### 引用[.reference_title] - *1* *2* *3* [从es6基础到vue---有这一篇就够了!](https://blog.csdn.net/wangfan741/article/details/109300544)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值