1
我在将事件从一个对象传递到另一个对象时出现问题。我试图用PubSub来做到这一点。我举一个例子:在javascript中处理自定义事件
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对象的实例是公共的,但对象A的实例在B对象内是私有的。
问题是,当事件“测试”发布时,它由pubsub处理,但因为objA不是全局的,所以我在控制台中看到doSth函数未定义。
任何人都有一个想法如何解决?
'但因为objA不是全球性的'这不能成为pub-sub模式的问题。除非..使用什么PubSub实现?你在哪里调用'objA.publish()'? – dfsq 2014-11-03 13:47:19
我正在使用amplify.js和nu,他们都没有工作。但我现在尝试了PubSub.js,它看起来像一切正常:O。 – jacobs 2014-11-03 13:52:50