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