11

目前我正在玩 Backbone/Marionette(尽管问题更笼统),而且我有很多代码可以在整个应用程序中“发送消息”。举个例子,像这样:

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

但是我没有任何好的方法来追踪(记录)应用程序中哪些消息/调用可用。

所以我的问题是:记录这个(sub/pub)的好方法是什么?

我会假设(虽然我没有找到)可能有一个工具可以让你添加注释(Javadoc 风格),它会从中产生或多或少合理的东西。

4

3 回答 3

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
于 2013-04-05T18:26:24.093 回答
0

也许你可以使用JS-Signals?

于 2013-04-05T17:37:55.943 回答
0

您可以使用 YUI 文档http://yui.github.com/yuidoc/和 JS 文档https://code.google.com/p/jsdoc-toolkit/。查看文档以了解适合您需求的内容。

于 2013-04-05T17:02:21.083 回答