我正在寻找一种方法来使我的地图对象保持最新。 F.e.一条折线。
我有一个“父级”
MVCArray
,其中包含一些附加信息,我正在处理该数组以将其作为 MVCArray<LatLng>
传递给折线。
但是这样做会阻止折线自动更新,因为只有父数组才能获取所有更新的信息。
所以我查看了文档并发现了
MVCArray.notify()
使用
.notify(key: string)
我们可以创建一个事件。
在代码中的其他地方,我们可以设置监听器
MVCObject.addListener(key: string, handler: function)
并在处理程序内部执行我们需要做的任何事情。
但是
在我的代码中这不起作用。
constructor() {
this.points.addListener("onChange", () => {
console.log(this.points);
});
}
draw() { // this gets called frequently
this.points.notify("onChange");
}
没有给我控制台日志。 我还尝试了已经预定义的事件。
this.points.addListener("set_at", (index: number) => {
console.log("set at ", index);
});
this.points.setAt(i,{...props})
也没有给我任何日志...
为什么
.notify()
不起作用,我做错了什么吗?
或者是否有另一种解决方案可以在父数据更新时更新处理后的数据?
好吧,在看了更多内容并向人工智能寻求指导后我明白了。 我就按照我的理解来回答。
使用
.notify(key: string)
我们可以创建一个事件。
在代码中的其他地方,我们可以设置监听器
MVCObject.addListener(key: string, handler: function)
并在处理程序内部执行我们需要做的任何事情。
但是
在我的代码中这不起作用。
constructor() {
this.points.addListener("onChange", () => {
console.log(this.points);
});
}
draw() { // this gets called frequently
this.points.notify("onChange");
}
没有给我控制台日志。
所以我仍然需要更多帮助:)