使用 Angular 突出显示?

Highlightjs with Angular?

ng2-smart-table application documentationcode 个元素片段,如下所示:

<code highlight class="typescript">{{ snippets.require }}</code>

resulting documentation looks like this.

查看生成的应用程序 html 时,看起来 highlightjs 正在执行突出显示,但我没有看到 angular 依赖项的导入将执行转换(或脚本的任何预处理),只是想知道它是如何工作的?

根据答案

想起来真的很酷,这是多么简单 Angular:

import { Directive, ElementRef, AfterViewInit } from '@angular/core';
import * as hljs from 'highlight.js';

@Directive({
selector: 'code[highlight]',
})
export class HighlightCodeDirective implements AfterViewInit {

constructor(private elRef: ElementRef) { }

ngAfterViewInit() {
    hljs.highlightBlock(this.elRef.nativeElement);
}

}

仔细检查代码有一个使用 highlightjs 的 highlight directive (ng2-smart-table/src/app/shared/directives/highlight.directive.ts)。它是示例应用程序的一部分,而不是库的一部分,因此如果您想在您的应用程序中执行相同的操作,则需要复制它。