1

我在非 html5 模式下使用 ng-router 创建文档。所有链接都应转换为 href="#!/path"。默认情况下,标签 {@link} 创建 href="path"。

这个行为是可配置的吗?

4

1 回答 1

1

我发现的是,那ngdoc是使用link过滤器。

您可以通过 2 个简单的步骤覆盖该过滤器。

创建一个包含./filters/link.js以下内容的文件 ( ):

var _ = require('lodash');

    module.exports = function() {
      return {
        name: 'link',
        process: function(url, title, doc) {
          return _.template('{@link ${url} ${title} }')({ url: '#!/'+url, title: title });
        }
      };
    };

在您必须注册(覆盖)它之后。在您的 dgeni 配置文件中输入:

...
.config(function(templateEngine, getInjectables) {

  templateEngine.filters = templateEngine.filters.concat(getInjectables([
    require('./filters/link')
  ]));

})
...

这将在 name 下注册一个新过滤器link。由于它在 ngdoc 配置之后运行,它将覆盖现有的link过滤器。

希望能帮助到你。

于 2017-07-10T14:57:59.633 回答