2013-04-05 48 views
11

目前我在玩Backbone/Marionette(儘管問題更一般),並且我有很多代碼在整個應用程序中「發送消息」。只是作爲一個例子,這樣的事情:什麼是文件sub/pub的好方法?

vent.on("search:start", function() {...}); 
vent.trigger("search:start"); 

但我沒有追查(文件),該消息/調用的應用程序內任何可用的好方法。

所以我的問題是:什麼是一個很好的方式來記錄這個(子/酒吧)?

我會假設(儘管我沒有找到)可能有一個工具可以讓你添加評論(Javadoc風格),它會產生或多或少合理的東西。

+0

退房YUI文檔 - http://yui.github.com/yuidoc/ – imrane 2013-04-05 11:56:41

回答

0

也許你可以使用JS-Signals?

+1

這是一個發佈/訂閱的實現; OP要求提供關於如何提供_document_可用訂閱的建議。 – Mathletics 2013-04-05 19:41:30

7

我的建議是有一個大的signals.eventConstants。這是一個對象,唯一的目的是保存放入訂閱者或發佈者的字符串列表,作爲您發佈或訂閱的內容。的

所以與其做

vent.on("search:start", function() {...}); 
vent.trigger("search:start"); 

你會做

vent.on(signals.eventConstants.searchStart, function() {...}); 
vent.trigger(signals.eventConstants.searchStart); 

然後你有一個集中的地方,你可以檢查你所有的發佈/訂閱廣播的主題,如果你想改變他們的名字,或者稍後添加,你有一個地方要檢查,所以你不會創建相同的廣播。

在signals.eventConstants中,您還可以用註釋記錄每個信號的用途。

所以你必須像

//This broadcast will fire when a search is started