java HTML框架 CK xaml replace terminal 逻辑端口 swift2 seo教程下载 直销系统源码 change事件 java两个数组合并 spark算法 java通用版qq浏览器下载 查看mysql是否启动 windows查看进程命令 python界面 网页设计公司 python基础教程免费 python安装环境变量 python学习文档 python中set的用法 python运行 java中继承 java接口类 java重写和重载的区别 java接口实现 java平台 java的socket通信 java连接sql数据库 java接口开发 linux下载安装 javascript基础 rendercontrol 网络电视软件下载 java分布式开发 idataparameter js刷新页面 VSPD findall
当前位置: 首页 > 学习教程  > 编程语言

关于vue中父子组件传值报错的问题解决过程记录:this.$emit is not a function

2020/11/24 10:01:40 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

报错基本上都是因为this指向问题,基本上就是 function 和 () > 之间的问题,进行这俩的替换基本上都可以解决。我碰到了此问题,因为this指向了方法,而不是vue,报错代码: mounted () {lazyAMapApiLoaderI…

报错基本上都是因为this指向问题,基本上就是 function 和 () => 之间的问题,进行这俩的替换基本上都可以解决。我碰到了此问题,因为this指向了方法,而不是vue,报错代码:

mounted () {
    lazyAMapApiLoaderInstance.load().then(() => {
      // your code ...
      this.map = new AMap.Map("amapContainer", {
        center: [121.59996, 31.197646],
        zoom: this.zoom
      });
 
      this.map.on('click', function (e) {
        const data = getLngLat(e)
        this.$emit("lnglat", data)
      });
    });
  },

有两种解决方式:

第一种方式,对象中转:


mounted () {
    const _this = this
    lazyAMapApiLoaderInstance.load().then(() => {
      // your code ...
      this.map = new AMap.Map("amapContainer", {
        center: [121.59996, 31.197646],
        zoom: this.zoom
      });
 
      this.map.on('click', function (e) {
        const data = getLngLat(e)
        _this.$emit("lnglat", data)
      });
    });

第二种方式,使用箭头函数:


mounted () {
    lazyAMapApiLoaderInstance.load().then(() => {
      // your code ...
      this.map = new AMap.Map("amapContainer", {
        center: [121.59996, 31.197646],
        zoom: this.zoom
      });
 
      this.map.on('click', (e) => {
        const data = getLngLat(e)
        this.$emit("lnglat", data)
      });
    });
  }

 

以上方案参考大佬博文  地址:https://blog.csdn.net/yssa1125001/article/details/107449755

我的问题是自己在父页面写错了:

使用@ 而不是 :


本文链接: http://www.dtmao.cc/news_show_400214.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?