請(qǐng)老師指教訂閱發(fā)布模式的應(yīng)用場(chǎng)合
老師,依我個(gè)人的理解:發(fā)布模式應(yīng)該用于經(jīng)常要修改功能的場(chǎng)景中(比如經(jīng)常要添加或者刪除某些功能)。而這個(gè)案列中不管是發(fā)布模式還是直接調(diào)用切換,本質(zhì)上都是一樣,要修改調(diào)用函數(shù)的時(shí)候改動(dòng)的都是調(diào)用的那個(gè)函數(shù)。比如直接調(diào)用就是A(),而發(fā)布模式就是 observer.publish("completeA")。沒有看出這樣做好處到底在哪里? 對(duì)于發(fā)布模式我只理解了比如在一個(gè)新聞網(wǎng)站中對(duì)應(yīng)多個(gè)板塊時(shí),更新新聞很方便,或者某個(gè)類經(jīng)常要修改功能。還請(qǐng)老師指點(diǎn)我這個(gè)模式的應(yīng)用場(chǎng)合。謝謝
2015-12-17
http://www.codeceo.com/article/javascript-observer-pattern.html,這個(gè)網(wǎng)頁解析的比較清楚
2015-12-26
console.log(this);//這個(gè)才應(yīng)該是對(duì)的
var tmp = this;
console.log("開始");
? ? var element = $(".page-a");
? ? //根元素
tmp.$root = element;
//小男孩
tmp.$boy = element.find(".chs-boy");
? ? tmp.$window = element.find(".windows"); ?
tmp.$leftWin ?= tmp.$window.find(".window-left");
? ? tmp.$rightWin = tmp.$window.find(".window-right");
//運(yùn)行動(dòng)畫
tmp.run();
//模擬執(zhí)行時(shí)間
setTimeout(function() {
console.log(tmp);
// console.log(this);//改變了
callback()
}, 20000)//差不多也是20s
自己回答自己 最后那個(gè)20秒是pagea的動(dòng)畫執(zhí)行時(shí)間
2015-12-26
請(qǐng)問下這個(gè)new pageA(function() {})傳入的是一個(gè)function 但是后面章節(jié)pageA()要傳入一個(gè)節(jié)點(diǎn)ID?
這個(gè)該如何解決
2015-12-15
那什么時(shí)候要用自定義事件?什么時(shí)候要雙向數(shù)據(jù)綁定?
”在一個(gè)新聞網(wǎng)站中對(duì)應(yīng)多個(gè)板塊時(shí),更新新聞很方便”:這個(gè)算是個(gè)自定義事件?還有什么案列中要用?
這個(gè)案列貌似也不存在多個(gè)訂閱者響應(yīng)一個(gè)事件的情況,應(yīng)用的是雙向數(shù)據(jù)綁定?
2015-12-15
自定義事件
2015-12-15
雙向數(shù)據(jù)綁定