我在 Javascript 中将事件从一个对象传递到另一个对象时遇到问题。我尝试使用 PubSub 来做到这一点。我举个例子:
function A() {
function _publish(){
PubSub.publish("test");
}
function _doSth() {
console.log("Done!");
}
return {
publish: _publish,
doSth: _doSth
};
}
function B() {
var objA = new A();
PubSub.subscribe("test", function(){
objA.doSth();
});
}
该代码示例与我的应用程序中的对象结构类似。 B 对象的实例是公共(public)的,但对象 A 的实例在 B 对象内部是私有(private)的。
问题是,当事件“test”发布时,它由 pubsub 处理,但由于 objA 不是全局的,我在控制台中看到 doSth 函数未定义。
有人知道如何解决这个问题吗?
最佳答案
我不知道什么是 pubsub 但 objA 在 B 内部是本地的不是问题 你可以检查这个代码
function A() {
function _publish(){
}
function _doSth() {
console.log("Done!");
}
return {
publish: _publish,
doSth: _doSth
};
}
function B() {
var objA = new A();
objA.doSth();
}
new B();
//抱歉,这不是答案,但我没有资格发表评论。所以我必须写在答案框中
关于javascript - JavaScript 中的自定义事件处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26715551/