问答详情
源自:4-4 场景切换

请老师指教订阅发布模式的应用场合

老师,依我个人的理解:发布模式应该用于经常要修改功能的场景中(比如经常要添加或者删除某些功能)。而这个案列中不管是发布模式还是直接调用切换,本质上都是一样,要修改调用函数的时候改动的都是调用的那个函数。比如直接调用就是A(),而发布模式就是 observer.publish("completeA")。没有看出这样做好处到底在哪里? 对于发布模式我只理解了比如在一个新闻网站中对应多个板块时,更新新闻很方便,或者某个类经常要修改功能。还请老师指点我这个模式的应用场合。谢谢

提问者:阿辉2 2015-12-15 18:45

个回答

  • 啊哈哦
    2015-12-17 09:31:37
    已采纳

    http://www.codeceo.com/article/javascript-observer-pattern.html,这个网页解析的比较清楚

  • moonstar
    2015-12-26 15:43:09

    console.log(this);//这个才应该是对的

    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");

    //运行动画

    tmp.run();

    //模拟执行时间

    setTimeout(function() {

    console.log(tmp);

    // console.log(this);//改变了


    callback()

    }, 20000)//差不多也是20s

    自己回答自己 最后那个20秒是pagea的动画执行时间


  • moonstar
    2015-12-26 14:52:03

    请问下这个new pageA(function() {})传入的是一个function 但是后面章节pageA()要传入一个节点ID 

    这个该如何解决


  • 阿辉2
    2015-12-15 22:24:29

    那什么时候要用自定义事件?什么时候要双向数据绑定?

    ”在一个新闻网站中对应多个板块时,更新新闻很方便”:这个算是个自定义事件?还有什么案列中要用?

    这个案列貌似也不存在多个订阅者响应一个事件的情况,应用的是双向数据绑定?

  • 小小风
    2015-12-15 22:12:06

    自定义事件

  • 小小风
    2015-12-15 22:11:34

    双向数据绑定