gpt4 book ai didi

javascript - 将数据从一个类传递到另一个类的 Typescript 事件

转载 作者:太空宇宙 更新时间:2023-11-04 16:05:16 24 4
gpt4 key购买 nike

我知道这是一个非常基本的问题,但经过半小时的研究仍然没有找到答案。

我有两个类。其中一个保存着我的 Google map API。当单击标记时,我想在另一个类上发出事件并向其传递数据。我写了一些伪代码,所以你可以想象我想要做什么。

export class Class1 {
someFunctionInClass1() {
//some code
this.functionHere()
}

functionHere() {
gotanEvent() {
google.maps.event {
//here i got an event
and want to pass data to Class2
functionToCallWhenEventEmits(with the data)
}
}
}
}


import { Class1 } from ../class1Path;

export class Class2 {
constructor(public class1: Class1) {

}


someFunctionInClass2() {
class1.someFunctionInClass1();
}

functionToCallWhenEventEmits(data to pass) {
//do something
}
}

希望有人能帮助我。 :)

最佳答案

如果您希望两个类之间有类似事件的行为,您可以使用观察者设计模式的轻量级版本。您的主体将只维护一名家属,而不是维护“其家属名单”。

The observer pattern is a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods. It is mainly used to implement distributed event handling systems. (Wikipedia)

这是一个轻量级观察者模式的示例 ( with a Fiddle )。

class Subject
{
private observer : Observer;

public Attach(observer: Observer)
{
this.observer = observer;
}

public DoSomething(message: string)
{
if (this.observer != null)
{
observer.Updating(message);
}
}
}

class Observer
{
public Updating(message: string)
{
document.writeln(message);
}
}

var subject = new Subject();
var observer = new Observer();
subject.Attach(observer);
subject.DoSomething("Something happened!");

关于javascript - 将数据从一个类传递到另一个类的 Typescript 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41925431/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com