Angular 4 - 如何使用 Angular 4 将材料设计 HTML 元素添加到文件中



我正在尝试使用 Angular 以编程方式将 md-button-切换插入按钮切换组中,但创建元素似乎不适用于非标准 HTML 标签。

我正在尝试附加的 HTML 代码段:

<md-button-toggle-group class="toggle-box" [vertical]="true" id="button-toggle-group">
<dash-theme (onSelected)="setTheme($event);sidenav.close()"></dash-theme>
<md-button-toggle routerLink="/admin/dashboard" (click)=sidenav.close()>
Admin Dashboard
</md-button-toggle>
</md-button-toggle-group>

角度尝试:

// adds a View Dashboard button to the side nav bar when 
addViewDashboard(): void {
var node = document.createElement('<md-button-toggle routerLink="/' + this.dashboardName
+ '" (click)=sidenav.close() id="view-dashboard-button"> View Dashboard </md-button-toggle>');
document.getElementById("button-toggle-group").appendChild(node);
}

(this.dashboardName只是一个字符串,将被传递到路由器中(

我意识到CreateElement不应该像这样工作,并且真的想不出我还能如何做到这一点。

最终产品应该是这样的:

<md-button-toggle-group class="toggle-box" [vertical]="true" id="button-toggle-group">
<dash-theme (onSelected)="setTheme($event);sidenav.close()"></dash-theme>
<md-button-toggle routerLink="/admin/dashboard" (click)=sidenav.close()>
Admin Dashboard
</md-button-toggle>
<md-button-toggle routerLink="/[this.dashboardName Value]" (click)=sidenav.close() id="view-dashboard-button">
View Dashboard
</md-button-toggle>
</md-button-toggle-group>

我只会使用一个数组来表示按钮切换信息...

<md-button-toggle-group class="toggle-box" [vertical]="true" id="button-toggle-group">
<dash-theme (onSelected)="setTheme($event);sidenav.close()"></dash-theme>
<md-button-toggle *ngFor="let b of buttons" routerLink="b.route" (click)="b.clickAction()">{{b.title}}</md-button-toggle>
</md-button-toggle-group>

下面是可用于驱动模板的组件属性的示例。

buttons: any = [
{ title: 'button 1', route: '/admin/dashboard', clickAction: () => { alert('action 1'); } },
{ title: 'button 2', route: '/[this.dashboardName Value]', clickAction: () => { alert('action 2'); } }
]

最新更新