Использование ngdocs со свойствами контроллера в angularJS
Я только начинаю разбираться, используя grunt-ngdocs для моего углового приложения, и пока все хорошо.
Но теперь я хотел бы задокументировать некоторые свойства другого задокументированного свойства в одном из моих контроллеров.
Рассмотрим следующий код:
(function() {
'use strict';
/**
* @ngdoc controller
* @name app.mymodule.controller:MyController
* @description
* A Controller
*/
angular
.module('app.mymodule')
.controller('MyController', Controller);
Controller.$inject = ['someService', 'otherService', '$state'];
function Controller(someService, otherService, $state) {
/**
* @ngdoc property
* @name vm
* @propertyOf app.mymodule.controller:MyController
* @description
* A named variable for the `this` keyword representing the ViewModel
*/
var vm = this,
searchText;
vm.customerService = customerService;
vm.fetchCollection = fetchCollection;
vm.deleteCustomer = deleteCustomer;
initialise();
function initialise() {
//logic
}
/**
* @ngdoc
* @name fetchCollection
* @methodOf app.mymodule.controller:MyController
*
* @description
* Function to retrieve records from the backend service
* @example
* vm.fetchCollection(page, perPage);
* @param {int} page The number of the page of data to be retrieved
* @param {int} perPage The number of items per page to be retrieved
* @returns {object} The response object returned from a httpPromise
*/
function fetchCollection(page, perPage){
//logic
}
function deleteCustomer(model) {
//logic
}
})();
Как вы можете видеть, у меня есть некоторые свойства, висящие за переменной vm, которые обычно являются ссылками на функции, определенные в контроллере.
Используя приведенный выше синтаксис документации ngdocs\jsdocs, я могу получить свойство vm для вывода в папку с моей документацией, но я не уверен, как документировать свойства самого объекта vm.
Есть ли разумный или рекомендуемый способ сделать это? Я задумался о том, чтобы вообще не документировать vm, а просто документировать каждый из vm.xxx отдельно, но я не уверен в этом!
Спасибо
1 ответ
Это не очень понятно в документации, но вы должны использовать хеш в имени.
Попробуй это.
/**
* @ngdoc property
* @name app.mymodule.controller:MyController#vm
* @propertyOf app.mymodule.controller:MyController
* @description
* A named variable for the `this` keyword representing the ViewModel
*/