【发布时间】:2018-08-01 12:04:49
【问题描述】:
我正在尝试创建在鼠标悬停时显示按钮的指令。
在 angularJS 中,我通过以下方式创建了一个元素:
angular.element("<button mat-button></button>");
在 angular5 中,我尝试通过以下方式创建元素:
button: any;
constructor(private el: ElementRef,
private renderer: Renderer2) {
this.createButton();
}
private createButton(){
this.button = this.renderer.createElement("button");
this.renderer.setAttribute(this.button,"mat-fab", "");
this.renderer.addClass(this.button, "mat-fab");
this.renderer.appendChild(this.el.nativeElement, this.button);
}
但不幸的是,按钮看起来像普通按钮,而不是材料设计按钮。看起来渲染器不渲染按钮,而只是插入一些没有渲染的 html。
请帮助我。
【问题讨论】:
-
在一个元素上投掷属性不会使它们成为 Material 元素。它们需要由 AM 指令处理。无论如何,
*ngIf状态切换不是更好的方法吗?只需使用(mouseover)切换它。如果您需要帮助,请显示实际情况的代码。
标签: angular material-design angular-material angular5 angular2-directives