jsdoc註釋

註釋說明

  • 對象與方法的描述要突出重點,好比:一個正則表達屬性,描述:XXX(做用)的正則表達式正則表達式

    /**
    * 用於匹配輸入框輸入值的正則表達式
    */
    regex:"",
  • 文件頭部用@module用來區分不一樣組件
  • 屬性名用@member(表示@module的成員),不要用@property(表示一個對象 的屬性,陳列在對象外邊)
  • 函數參數部分寫法:@param {type} [參數名] - 參數描述(其餘相似)
  • 屬性寫明是@public仍是@private(@private生成模板時能夠不顯示)
  • 若是屬性只讀,添加@readOnly
  • 若是屬性必填,添加@required;
  • 若是函數參數是一個對象,對象屬性值須要列舉,在參數說明部分列舉屬性,並用<br>對每一個屬性換行(見下例)

下面是一個案例:函數

/**
 * ohaf-basic-search組件
 * 
 * @module ohaf-basic-search
 * @example
 * {{ohaf-basic-search placeholder='請輸入文本' searchBtnText="搜索" ...}}
 */
export default Ember.Component.extend({
    /**
     * 文本框默認提示信息
     *
     * @member {string} placeholder
     * @default ""
     * @public
     */
    placeholder: "",

    /**
     * 是否支持enter鍵搜索事件
     *
     * @member {boolean} hasEnterSearch
     * @default true
     * @readOnly
     * @private
     */
    hasEnterSearch: true,

    /**
     * 搜索按鈕顯示文字
     *
     * @member {string} searchBtnText
     * @default "搜索"
     * @required
     * @public
     */
    searchBtnText: "搜索",

    /**
     * 構造函數描述
     * 
     * @constructs Book
     * @param {string} title 書本的標題.
     * @param {string} author  書本的做者.
     * @public
     */
    Book(title, author) {
        this.title=title;
        this.author=author;
    },

    /**
     * 參數是一個對象,須要列舉對象屬性
     * 
     * @method func
     * @param {object} data  name:搜索框輸入值<br>
     *                       age:年齡<br>
     *                       country:國家
     * @return {object} 返回一個對象
     * @private
     */
    _func(obj) {
        return obj;
    },
    actions: {
        /**
         * 搜索事件
         *
         * @event onsearch
         * @param {(string|number)} value  -input的value值
         * @public
         */
        onClick(value) {
            if (this.get("searchable")) {
                this.sendAction('onSearch', value);
            }
        }

    }
});
相關文章
相關標籤/搜索