一起使用markdown和routerLink

时间:2018-04-20 05:03:21

标签: angular typescript angular-ui-router markdown

我有一个使用渲染器的标记管道。 在我的应用程序上,用户可以发布我的应用程序的链接,我想将href更改为[routerLink]

传入的网址字符串为http://localhost:4200/areas/fun/629661722

继承我当前无效的代码

export class MarkedPipe implements PipeTransform {
renderer = new marked.Renderer();

constructor() {
this.renderer.link = function( href, title, text ) {
  let url = '<a target="_blank" href="' + href;
  console.log(href)
  if (href.indexOf('localhost:4200') !== -1) {
    console.log(href.substring(21, href.length))
    url = '<a [routerLink]="[\'' + href.substring(21, href.length) + '\']"';
    console.log(url)
  }
  return url + ' title="' + title + '">' + text + '</a>';
};

marked.setOptions({
  renderer: this.renderer,
  sanitize: true
});
}

transform(value: string): string {
return '<span class="markdown">' + marked(value || '') + '</span>';
}
}

html代码:

<span class="mainText" [innerHTML]="post?.text | marked"></span>

0 个答案:

没有答案