如何使用ngdoc记录返回“工厂功能”的“角度工厂”?具体来说,我如何记录我的'工厂功能'创建的对象?
在下面的设计示例中,我已经记录了如何使用工厂创建页面对象,但是如何记录如何使用页面对象呢?
angular.module('fooRestClient').factory('page', function () {
var prototype = {};
// Below I need to somehow link the methods a page object has to the
// factory's documentation.
/**
* @description Fetches the page at the specified index.
*
* @param {number} index - the index of the page to fetch
*
* @returns {object} a page object representing the page at the given index
*/
prototype.getPage = function (index) {
// returns a new page.
};
// ... more useful methods.
/**
* @ngdoc service
* @type function
* @name fooRestClient:page
* @description
* A factory function for producing page objects....
*
* @param {Number} index - The page index.
* @param {Number} size - The page size.
* @param {Number} total - The total number of pages.
* @param {Array} data - The contents of the page.
* @returns {object} A page object for the given resource
*/
return function page(index, size, total, data) {
return Object.create(prototype, {
index: index,
size: size,
total: total,
data: data
});
};
});
我在SO上找到的最接近的匹配是:How to document a factory that returns a class in angular with ngdoc?。这没有用,因为我没有“类”名称来链接方法,因为我没有使用伪经典继承。
答案 0 :(得分:0)
也许这可以按预期工作:
/**
* @ngdoc service
* @type function
* @name fooRestClient:page
* @description
* A factory function for producing page objects....
*
* @param {Number} index - The page index.
* @param {Number} size - The page size.
* @param {Number} total - The total number of pages.
* @param {Array} data - The contents of the page.
* @returns {object} A {@link prototypeInstance|page object} for the given resource
*/
return function page(index, size, total, data) {
/**
* @ngdoc object
* @name prototypeInstance
* @description page object for the given resource
*/
return Object.create(prototype, {
/*
* @ngdoc object
* @name prototypeInstance#index
* @description index description
*/
index: index,
/*
* @ngdoc object
* @name prototypeInstance#size
* @description size description
*/
size: size,
/*
* @ngdoc object
* @name prototypeInstance#total
* @description total description
*/
total: total,
/*
* @ngdoc object
* @name prototypeInstance#data
* @description data description
*/
data: data
});
};
我知道它有点冗长,但这是我发现做这种事情的唯一方法