天天看點

dojo釋出者訂閱者模式(topic.publish/topic.subscribe)

topic.publish:

用于釋出消息,接收任意多個參數,第一參數為要釋出的資訊名字(唯一辨別),如"init/method",其他參數為傳遞給訂閱回調函數的參數。

topic.subscribe:

用于訂閱消息,接收兩個參數,第一參數為要訂閱的消息名字(唯一辨別),如"init/method",第二參數為回調函數。

示例:

var handler = topic.subscribe("some/topic", function(){
	console.log("received:", arguments);
	handler.remove();
});
 
topic.publish("some/topic", "one0", "two0");

topic.publish("init/method", function(map,toolbar){
    new Location(map,toolbar);
});
 
topic.subscribe("init/method", function(method){
	if(lang.isFunction(method)){
        method(map,toolbar);  //map需要傳進去
    }
});

           

繼續閱讀