垫式onclick事件功能

dat*_*ews 2 typescript angular-material angular

想知道是否有可能发生“垫式踏步”按钮的点击事件。对于每个垫步按钮,我想添加一个(click)调用的事件method。换句话说,垫步按钮的作用类似于常规按钮。

这是基本步骤:https : //material.angular.io/components/stepper/overview

这是我的代码:

<mat-step>
<ng-template matStepLabel (click) = "createView()">Output</ng-template>
</mat-step>
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

模板解析错误:嵌入式模板上的任何指令都不会发出事件绑定单击。确保事件名称拼写正确,并且所有指令均在“ @ NgModule.declarations”中列出。(“ eateView()”>输出->

Pat*_*ger 6

因此,我只是遇到了这个问题,简单的解决方法是将步骤标签的实际内容包装在ap标签中,并在其中添加click事件。以您的示例为例:

<mat-step>
  <ng-template matStepLabel>
    <p (click)="createView()">Output</p>
  </ng-template>
</mat-step>
Run Code Online (Sandbox Code Playgroud)

另外,更强大的功能是,您可以像这样在父级步进器组件中挂入selectionChange事件:

<mat-horizontal-stepper (selectionChange)="selectionChange($event)">
Run Code Online (Sandbox Code Playgroud)

发出的事件具有以下属性:https : //material.angular.io/cdk/stepper/api#StepperSelectionEvent

  • 如果我在 p 标签上添加点击事件,它将仅适用于 &lt;p&gt;,而不适用于整个 mat-step 按钮。需要更好的解决方案 (3认同)