Angular 按钮单击事件问题在角度

Angular 按钮单击事件问题在角度,angular,angular5,angular6,Angular,Angular5,Angular6,我试图对自定义按钮应用“禁用选项”,但当我将按钮设置为禁用时,单击事件仍在工作。我只需要点击事件,如果按钮是启用的,而不是如果它被禁用 代码: 保存3 由于您的myngbutton不是html本机元素,因此它不会像本机按钮那样工作。它被视为具有父类型HtmleElement的自定义元素 disabledhtml属性仅适用于中描述的元素。这意味着,如果希望组件像按钮一样工作,则需要对其进行编程。或者在组件内部使用本机 以下是一个例子: <!-- Won't enter the alertM

我试图对自定义按钮应用“禁用选项”,但当我将按钮设置为禁用时,单击事件仍在工作。我只需要点击事件,如果按钮是启用的,而不是如果它被禁用

代码:

保存3

由于您的
myngbutton
不是html本机元素,因此它不会像本机按钮那样工作。它被视为具有父类型HtmleElement的自定义元素

disabled
html属性仅适用于中描述的元素。这意味着,如果希望组件像按钮一样工作,则需要对其进行编程。或者在组件内部使用本机

以下是一个例子:

<!-- Won't enter the alertMsg method if it is disabled -->    
<myngbutton [disabled]="disabled3" (click)="!disabled3 && alertMsg()">Save 3</myngbutton>

节省3

问题是,您订阅的
单击事件不是按钮元素上的
单击事件,而是单击
myngbutton
元素。 您需要在
myngbutton
组件上添加一个事件发射器,该组件在
按钮
元素单击时发出:

myngbutton.component.ts:

@Component({...})
export class MyngbuttonComponent {
   [...]

   @Output() onClick = new EventEmitter();
   [...]

}
myngbutton.component.html:

<button [...] (click)="onClick.emit()">[...]</button>
<myngbutton [disabled]="disabled1" (onClick)="alertMsg()">Save 1</myngbutton>
[…]
app.component.html:

<button [...] (click)="onClick.emit()">[...]</button>
<myngbutton [disabled]="disabled1" (onClick)="alertMsg()">Save 1</myngbutton>
保存1

问题在于您的自定义按钮实现中没有逻辑。正常按钮可以正常工作。你可以在我的stackblitz中看到我的所有代码。请检查我的stackblitzlink@Arcteezy:-我不知道怎么做..如果你知道,请告诉我..更新我的代码非常感谢:)我添加了禁用属性,但不工作..我认为渲染问题?如何解决这个问题?你是什么意思?stackblitz版本正在运行。我可以使用click而不是onClick吗?