【问题标题】:Durandaljs pubsubDurandaljs 发布订阅
【发布时间】:2013-06-26 08:01:12
【问题描述】:

我想问一下是否有办法使用 durandal pubsub 机制取消订阅特定订阅者。

例如;假设我有以下订阅:

app.on('some topic')
    .then(function(){ ... });

但是当我这样做时:

app.off('some topic')

它最终会删除特定主题的所有订阅者。

相反,我想做以下事情:

 var mySubscriber = function( msg, data ){
      console.log( msg, data );
 };
 var token = PubSub.subscribe( 'MY MESSAGE', mySubscriber );
 PubSub.unsubscribe( token );

(以上sn-p取自PubSubJs库示例)

【问题讨论】:

  • 查看源代码我找到了解决方案。您只需将回调存储在函数引用中,并在您想取消订阅时传递该引用

标签: events publish-subscribe durandal


【解决方案1】:
var subscribeTopic = app.on('some topic')
    .then(function(){ ... });

subscribeTopic.off();

http://durandaljs.com/documentation/Leveraging-Publish-Subscribe/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多