我们正在构建一个设计系统,对于我们的文档,我们希望在呈现的组件旁边显示代码。
<br-code-example>
<br-button type="primary">
Primary default
</br-button>
</br-code-example>
是否有可能以字符串形式获取ng-content中的内容(以及将其保留在ng-content中以使其呈现)?
<br-button type="primary">
Primary default
</br-button>
答案 0 :(得分:2)
将模板变量提供给ng-content
标签。然后使用ContentChild
在组件中访问它。
尝试一下:
import { Component, Input, ContentChild } from '@angular/core';
@Component({
selector: 'hello',
template: `
<h1>Hello {{name}}!</h1>
<ng-content #projected></ng-content>
`,
styles: [`h1 { font-family: Lato; }`]
})
export class HelloComponent {
@Input() name: string;
@ContentChild('projected', { static: false }) projectedContent;
ngAfterContentInit() {
console.log('child: ', this.projectedContent.nativeElement.innerHTML);
}
}
答案 1 :(得分:0)
因此我们设法通过节点脚本生成页面的component.html
来获得所需的结果。
br-code-example
组件具有一个输入code
,该输入包含带有代码的字符串。<br-code-example>
html片段。<br-code-example>
标签code
道具添加到br-code-example
[page].component.html