什麼是處理事件的類(例如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. 什麼是JSF應用程序中使用記錄器的最佳方式
- 3. jQuery應用事件處理程序的最佳方式
- 4. 新的JSDoc。在JSDoc中記錄事件處理程序的最佳方法是什麼?
- 5. 爲什麼要用阿卡事件處理程序的記錄
- 6. 處理彼此使用模塊的最佳方式是什麼?
- 7. 使用PRISM處理導航的最佳方式是什麼?
- 8. 使用git repo處理.htaccess的最佳方式是什麼?
- 9. 在應用程序中處理有效日期的最佳方式是什麼?
- 10. 用MySQL創建簡要記錄的最佳方式是什麼?
- 11. 什麼是在Java中處理延遲事件的最佳方式
- 12. 在Javascript中處理多個關鍵事件的最佳方式是什麼?
- 13. c# - 保持記錄windows窗體應用程序事件的最佳方式是什麼?
- 14. 處理變更管理的最佳方式是什麼?
- 15. 使用差異模式序列處理CSV的最佳方法是什麼?
- 16. 什麼是最好的方式來處理多個文件
- 17. 什麼是以編程方式使用Gmail的最佳方式?
- 18. 以非編程方式處理SQL Server數據的最佳方式是什麼?
- 19. 跟蹤日誌.NET HTTP處理程序的最佳方式是什麼?
- 20. 處理應用程序配置的最佳做法是什麼?
- 21. 使用PDO預處理語句的最佳方法是什麼?
- 22. 什麼是「洗牌」數據庫記錄表的最佳方式?
- 23. 記錄f#代碼的最佳方式是什麼?
- 24. 在Apache中記錄POST數據的最佳方式是什麼?
- 25. 實現記錄鎖定的最佳方式是什麼?
- 26. 記錄mysql數據庫的最佳方式是什麼?
- 27. 什麼是記錄Perl代碼的最佳方式?
- 28. 處理失敗的nonce驗證的最佳方式是什麼?
- 29. 什麼是MVVM事件處理的最佳實踐
- 30. 在C#.net中處理跨SQL Server的事務的最佳方式是什麼?
爲什麼不合適?你爲什麼不願意效仿Ext的例子? – 2012-04-03 16:37:40