我正在尝试对自定义按钮应用“禁用选项”,但是当我将按钮设置为“禁用”时,单击事件仍在起作用。如果按钮处于启用状态,我只需要单击事件,而禁用按钮则不需要。
代码:
<myngbutton [disabled]="disabled3" (click)="alertMsg()">Save 3</myngbutton>
答案 0 :(得分:0)
由于您的myngbutton
不是html本机元素,因此它不会像本机按钮那样工作。它被视为父类型为HtmlElement的自定义元素。
disabled
html属性仅适用于W3School documentation中描述的元素。这意味着,如果您希望组件像按钮一样工作,则需要对其进行编程。或在组件内部使用本机<button>
。
这里是一个例子:
<!-- Won't enter the alertMsg method if it is disabled -->
<myngbutton [disabled]="disabled3" (click)="!disabled3 && alertMsg()">Save 3</myngbutton>
答案 1 :(得分:0)
问题在于,您预订的click
事件不是按钮元素上的click
事件,而是单击myngbutton
元素上的事件。
您需要在myngbutton
组件上添加一个事件发射器,以触发button
元素点击:
myngbutton.component.ts:
@Component({...})
export class MyngbuttonComponent {
[...]
@Output() onClick = new EventEmitter();
[...]
}
myngbutton.component.html:
<button [...] (click)="onClick.emit()">[...]</button>
app.component.html:
<myngbutton [disabled]="disabled1" (onClick)="alertMsg()">Save 1</myngbutton>