什么是处理事件的类(例如ExtJS子类)的方法上的最佳类型的jsduck头? Jsduck似乎支持与jsdoc相同的标记,但我不确定@event标记是否合适。什么是使用jsduck来记录事件处理程序的最佳方式?
回答
事件处理程序应与其他任何方法(@method
等)相同。 @event
是您将用于可收听活动的标签:
function Foo() {
/**
* Fired when a sandwich is made
* @event sandwich-made
* @param {my.ns.Sandwich} sandwich
*/
this.listen('sandwich-made', this.onSandwichMade, this);
}
您在哪里记录您的活动是主观的。如果这是事件的唯一入口点,或者as is shown in the JsDuck docs,事实名称实际声明时,如果您使用addEvents(events)
方法正式添加它们,则可以像上面那样做。
该文档不是显式的,但大概在给定对象的上下文中出现的任何@event
标签都将与该对象相关联。
不应该在事件下面使用@param标签来表示三明治,错误吗? – 2012-04-03 19:02:45
是的,这是更清洁。 – 2012-04-03 19:32:42
JSDuck和jsdoc-toolkit中的@event
标记意味着相同的事情 - 记录一个类被事件触发的事件。
虽然jsdoc-toolkit文档在这部分看起来有点混乱,说@event "describes an event handled by a class",这可能使它看起来好像它是为了记录监听器。但是看看jsdoc-toolkit issue log我们可以看到这个特性受到YUI事件的启发,并且由于ExtJS也是从YUI开始发展的,它确认了@event
标记在jsdoc-toolkit和JSDuck中的语义相同。
然而,你似乎在问关于事件处理程序 - 注册处理由其他类触发的事件的方法。就像您有一个showPopup
方法,并且您想要记录此方法在某个按钮上处理click
事件。这与@event
标签的意义相反。
但是你真的不应该以任何特殊的方式记录你的事件处理程序 - 只需将它们记录为普通方法就足够了。这与记录其他方法调用特定方法的方式相同 - 有时提供此信息可能会很有用,但对所有方法执行操作都很愚蠢。
总之。方法和事件是一个类的接口 - 它们应该被记录下来。注册事件处理程序和调用方法是您如何使用接口 - 这是一个实现细节,不记录它(至少与您的API文档不在同一级别)。
- 1. 使用SDL/C++处理事件的最佳方式是什么
- 2. 在Ember.js中处理事件的最佳方式是什么?
- 3. 什么是JSF应用程序中使用记录器的最佳方式
- 4. jQuery应用事件处理程序的最佳方式
- 5. 新的JSDoc。在JSDoc中记录事件处理程序的最佳方法是什么?
- 6. 使用ETW记录异常的最佳方式是什么?
- 7. 处理MenuItem Click事件的最佳方法是什么?
- 8. 在div上处理onchange事件的最佳方法是什么?
- 9. 处理彼此使用模块的最佳方式是什么?
- 10. 使用PRISM处理导航的最佳方式是什么?
- 11. 使用git repo处理.htaccess的最佳方式是什么?
- 12. 为什么要用阿卡事件处理程序的记录
- 13. 什么是记录方法调用的最佳方式?
- 14. 在应用程序中处理有效日期的最佳方式是什么?
- 15. 用MySQL创建简要记录的最佳方式是什么?
- 16. 什么是在Java中处理延迟事件的最佳方式
- 17. 在Javascript中处理多个关键事件的最佳方式是什么?
- 18. 处理变更管理的最佳方式是什么?
- 19. c# - 保持记录windows窗体应用程序事件的最佳方式是什么?
- 20. 处理jQuery ajax异步调用的最佳方式是什么?
- 21. 什么是用Javascript处理时区的最佳方式
- 22. 用Promise处理分页的最佳方式是什么?
- 23. 使用差异模式序列处理CSV的最佳方法是什么?
- 24. 什么是以编程方式使用Gmail的最佳方式?
- 25. 以非编程方式处理SQL Server数据的最佳方式是什么?
- 26. 什么是最好的方式来处理多个文件
- 27. 跟踪日志.NET HTTP处理程序的最佳方式是什么?
- 28. 处理应用程序配置的最佳做法是什么?
- 29. 使用PDO预处理语句的最佳方法是什么?
- 30. 处理失败的nonce验证的最佳方式是什么?
为什么不合适?你为什么不愿意效仿Ext的例子? – 2012-04-03 16:37:40