HTML 代码形式 Angular2 组件 属性
HTML code form Angular2 component property
按照示例使用 ng2-bootstrap 从 http://valor-software.com/ng2-bootstrap/ 生成选项卡视图,我有以下代码:
<tabset>
<tab *ngFor="#tabz of tabs"
[heading]="tabz.title"
[active]="tabz.active"
(select)="tabz.active = true"
(deselect)="tabz.active = false"
[disabled]="tabz.disabled"
[removable]="tabz.removable"
(removed)="removeTabHandler(tabz)">
{{tabz?.content}}
</tab>
但我想从 {{tabz?.content}} 属性 中提取 HTML 代码。有没有办法做到这一点?我的选项卡数组如下所示:
public tabs:Array<any> = [
{title: 'Summary View', content: 'Dynamic content 1', active: true},
{title: 'Search View', content: '<someAngularComponent>Error Displaying Entry view</someAngularComponent >'}];
<tabset>
<tab *ngFor="#tabz of tabs"
[heading]="tabz.title"
[active]="tabz.active"
(select)="tabz.active = true"
(deselect)="tabz.active = false"
[disabled]="tabz.disabled"
[removable]="tabz.removable"
(removed)="removeTabHandler(tabz)"
[innerHTML]="tabz?.content">
</tab>
您应该知道 Angular 不会清理 HTML 并且不会以任何其他方式处理它。 []
、()
、{{}}
、<my-comp>
、<div myDirective>
等绑定被 HTML 以这种方式添加的 Angular 忽略。
普通html注入:
<tab [innerHTML]="tabz?.content">
Angular2 templates/components 不能像上面一样注入,你可以将内容包装到组件中并使用由 (select)
事件触发的 DynamicComponentLoader
加载它。
按照示例使用 ng2-bootstrap 从 http://valor-software.com/ng2-bootstrap/ 生成选项卡视图,我有以下代码:
<tabset>
<tab *ngFor="#tabz of tabs"
[heading]="tabz.title"
[active]="tabz.active"
(select)="tabz.active = true"
(deselect)="tabz.active = false"
[disabled]="tabz.disabled"
[removable]="tabz.removable"
(removed)="removeTabHandler(tabz)">
{{tabz?.content}}
</tab>
但我想从 {{tabz?.content}} 属性 中提取 HTML 代码。有没有办法做到这一点?我的选项卡数组如下所示:
public tabs:Array<any> = [
{title: 'Summary View', content: 'Dynamic content 1', active: true},
{title: 'Search View', content: '<someAngularComponent>Error Displaying Entry view</someAngularComponent >'}];
<tabset>
<tab *ngFor="#tabz of tabs"
[heading]="tabz.title"
[active]="tabz.active"
(select)="tabz.active = true"
(deselect)="tabz.active = false"
[disabled]="tabz.disabled"
[removable]="tabz.removable"
(removed)="removeTabHandler(tabz)"
[innerHTML]="tabz?.content">
</tab>
您应该知道 Angular 不会清理 HTML 并且不会以任何其他方式处理它。 []
、()
、{{}}
、<my-comp>
、<div myDirective>
等绑定被 HTML 以这种方式添加的 Angular 忽略。
普通html注入:
<tab [innerHTML]="tabz?.content">
Angular2 templates/components 不能像上面一样注入,你可以将内容包装到组件中并使用由 (select)
事件触发的 DynamicComponentLoader
加载它。