使用ngdocs时,指令的templateUrl

时间:2016-02-01 11:28:37

标签: javascript angularjs

我正在尝试为我公司的项目设置ngdocs。 作为首发,我想我应该为我们的一个指令设置一个例子。

我有ngdocs这样工作,它生成文档和所有这些。 我想知道的是,在使用ngdocs时,如何为指令提供模板?我的搜索没有发现这一点。这有点讽刺(文档工具缺乏文档)。

因此,我生成文档的代码看起来像这样

(function (angular) {
   'use strict';

   /**
    * @ngdoc directive
    * @name EA.directive:ssn
    * @restrict E
    * @scope
    * @param {object} value The value to check for a valid ssn. This is double-binded. You will most likely want this like 'value="vm.ssn"'.
    *
    * @description
    * Textfield that gives only allows valid organisationnumbers and SSNs.
    * Checks everything except the last 4 chars.
    * The last four can be either all numbers, or 'TF##'.
    *
    * @example
    <example module="ea">
    <file name="index.html">
    <div ng-controller="SampleCtrl as vm">
      <ssn value="vm.ssn"></ssn>
    </div>
    </file>

    <file name="script.js">
    function SampleCtrl(){
      var vm = this;
      vm.ssn = "";
    }
    angular.module("ssnSample", ["ea"])
      .controller("SampleCtrl", SampleCtrl);
    </file>
    </example>
    */

   function ssn(){
      var ssnController = function(){
         var vm = this;
         init();

         function init() {
            if (vm.organisation !== undefined) {
               vm.uiMask = "?999999-9999";
               vm.pattern = /^(\d{10})$/;
               vm.errorText = "Ange ett giltigt organisationsnummer (XXXXXX-XXXX).";
            } else {
               vm.uiMask = "?99999999-**99";
               vm.pattern = /^[1-2][0,9]\d{2}([0][1-9]|[1][0-2])([0][1-9]|[1-2][0-9]|[3][0-1])(\d{4}|TF\d{2})$/;
               vm.errorText = "Ange ett giltigt personnummer (YYYYMMDD-XXXX).";
            }
         }

      };

      return {
         restrict: 'E',
         templateUrl: 'src/directives/ssn/ssn.html',
         uiMask: "",
         pattern: "",
         errorText: "",
         minLength: 0,
         scope: {
            eaClass: "@",
            value: '=',
            organisation: '@',
            blur: '&'
         },
         controller: ssnController,
         controllerAs: 'vm',
         bindToController: true
      };
   }
   angular.module('ea')
      .directive('ssn', ssn);
})(angular);

但结果似乎没有拿起我的<ssn>元素。

这是一个plnkr,其中包含指令本身的示例。它不包括ui-mask部分,但你可以看到该指令有效。

当我生成ng-docs时,使用的路径是什么?我的文档结构是这样的:

src
|--directives
   |--ssn
      |--ssn.js
      |--ssn.html

所以在我templateUrl:我应该放什么?什么是有效的ngdocs?

这是目前显示的图片:
http://i.imgur.com/bJmdqE8.png

正如你所看到的那样,整个'demo'部分是空白的,它不应该是。它应该包含我的<ssn>元素,它实际上只是一个具有奇特功能的包裹<input>

建议?

修改

自问过以来已经过了一个多星期,没有答案。 到目前为止,我已尝试ng-docsng-docDokular。没有用。 AngularJS的文档真的死了吗?

1 个答案:

答案 0 :(得分:0)

查看文档页面时是否检查过控制台?此外,您在构建模板文件时是否将其部署到“docs”文件夹中?我怀疑你的ssn.html没有找到正确的位置[应该能够内联验证]。