gpt4 book ai didi

Javascript - 从子回调更新​​父对象

转载 作者:行者123 更新时间:2023-11-28 08:10:47 25 4
gpt4 key购买 nike

我想在每次子对象运行回调函数时设置父对象的属性。

我有以下代码:

function Track(id) {
this.callback = function(args) {
this.name = args;
}

this.child = new objectName(this.callback, property);
this.name = this.child.name;
}

我希望每次调用 this.callback 时都更新 this.name...有什么方法可以做到这一点吗?

最佳答案

这是一个典型的作用域问题,调用回调时this不会引用父对象。

试试这个:

function Track(id) {
var that = this;
this.callback = function(args) {
that.name = args;
}

this.child = new objectName(this.callback, property);
this.name = this.child.name;
}

编辑:请参阅 merlin 的评论,了解为什么 this 可能会导致问题。可能还有其他可能性来解决这个问题,即使用 bind(),但为此您还必须将父级传递到 objectName 构造函数中。

关于Javascript - 从子回调更新​​父对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24260025/

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