当前位置: 首页 > 知识库问答 >
问题:

“这个”在处理角传单点击事件时迷路

商佑运
2023-03-14

一旦我捕捉到传单标记上的点击事件并转到相关的函数,我就会为当前上下文释放它。

标记创建代码:

const marker=L.marker([lon,lat],c).addEventListener(“单击”,this.onclickRainsion).addTo(映射);

与之相关的功能是:

private onClickRainFall(e){
var sourceUrl2 = "a.b.c.d/" + e.sourceTarget.options.properties.abc;
this.getData(sourceUrl2);

}

在这里,当我试图访问this.get数据时,在运行时我得到错误"错误类型错误:this.get数据不是一个函数"

getData的函数定义为:

public getData(sourceUrl){
console.log('I  am called');
this.dataService.getData(sourceUrl).subscribe(data => {
  this.myData = JSON.parse(data);
  console.log(this.myData);
});

}

请让我知道如何解决这个问题,并得到适当的参考。

共有3个答案

微生学
2023-03-14

也许是个更简单的选择

const marker = L.marker([lon, lat], c).addEventListener("click", (e) => this.onClickRainFall(e)).addTo(map);

随着这个成为一个价值

郎鹤龄
2023-03-14

您需要将上下文绑定到关联的函数。

this.onClickRainFall.bind(this)
公英哲
2023-03-14

在触发eventListener之前将this分配给另一个变量,然后使用新变量代替this

例子:

let that = this;
const marker = L.marker([lon, lat], c).addEventListener("click", function() {
    var sourceUrl2 = "a.b.c.d/" + e.sourceTarget.options.properties.abc; that.getData(sourceUrl2);
    }).addTo(map);
 类似资料:
  • 我正试图得到所有的点击我的覆盖,我不知道angular是忽略他时,我点击另一个元素下的覆盖。 我创建了这个stackblitz,以查看问题是否发生在另一个地方,但我也遇到了类似的问题。https://stackblitz.com/edit/Angular-ivy-SJKWKC?file=src%2fapp%2fapp.component.html null null

  • 我是PyQt5的新手,下面的代码出现了一个错误(pythonw.exe不再工作):

  • 本文向大家介绍java处理按钮点击事件的方法,包括了java处理按钮点击事件的方法的使用技巧和注意事项,需要的朋友参考一下 不同的事件源可以产生不同类别的事件。例如,按钮可以发送一个ActionEvent对象,而窗口可以发送WindowEvent对象。 AWT时间处理机制的概要: 1. 监听器对象是一个实现了特定监听器接口(listener interface)的类的实例。 2. 事件源是一个能够

  • 问题内容: 我想使用获取ID为参数的处理程序来处理事件。 我可以通过JavaScript如下添加事件处理程序,并且可以正常运行: 但是在这种情况下,我无法将参数传递给。我试图打印的,但没有结果。 HTML属性根本不起作用,不调用处理程序。 问题答案: 您可以使用闭包来传递参数: 但是,我建议您使用更好的方法来访问框架(我只能假设您使用的是DOM0方式,即按其名称访问框架窗口-只是为了向后兼容而保留

  • 当我在标记中单击时,警报消息是:未定义 但是如果我把它放在变量映射中,它就起作用了!(显示经纬度) 有人知道为什么它在标记器里不起作用吗?

  • 问题内容: 在捕获阶段而不是冒泡阶段是否可能会出现angularjs ng-click处理事件?我想按照从父项开始到被单击元素结束的顺序汇总每个父项元素的数据。 问题答案: 让我们在ngEventDirs.js#L50上查看源代码 如您所见,和使用所有其他事件指令。 因此,答案是 否定的,这是不可能的 。 如果确实需要,可以为此编写一个自定义指令。例如,修改一下代码: 并像这样使用它: 柱塞示例: