Использование 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
 */
Другие вопросы по тегам