angular - 为什么点击时没有触发功能
问题描述
我在我的项目中使用制表符角材质: https ://material.angular.io/components/tabs/examples
这是代码:
<mat-tab-group animationDuration="0ms" >
<mat-tab></mat-tab>
<mat-tab (click)="setData(upgrade.name)" [label]="upgrade.name" *ngFor="let upgrade of upgradeType; let i = index"> </mat-tab>
</mat-tab-group>
功能:
setData(data){
alert(data)
}
但是,当单击选项卡时,不会执行 setData 函数。
知道为什么单击选项卡时不执行 setData 函数吗?
解决方案
mat-tab
没有click属性。所以,需要使用mat-tab-group
属性(selectedTabChange)
来实现。一旦选项卡更改,它将触发。
尝试使用:
mat-tab.component.html
<mat-tab-group (selectedTabChange)="setData($event)" animationDuration="0ms" >
<mat-tab></mat-tab>
<mat-tab [label]="upgrade.name" *ngFor="let upgrade of upgradeType; let i = index"> </mat-tab>
</mat-tab-group>
mat-tab.component.ts
setData(event: MatTabChangeEvent) {
console.log("click", event.tab.textLabel); //console out will be click {{upgrade.name}}
}
这是工作stackblitz
:
https://stackblitz.com/edit/angular-wzc6m3-rpap1a?file=src/app/tab-group-align-example.html
希望这可以帮助 :)
推荐阅读
- sql - 根据多行更新列值
- c++ - 无法输入名称(C++、结构)
- python - 用 open(file, 'w+') 重写文件不附加
- laravel-6 - [Route: projects.edit] [URI: projects/{project}/edit] Laravel 6.3 缺少必需的参数
- python - TabError 缩进中制表符和空格的使用不一致
- android - 将 textField 结束约束设置为 parentView 中心 X 使用约束布局
- android - 如何在 Unity Android 插件中发现蓝牙设备?
- assembly - 在程序集引导加载程序中获取用户输入
- python - 按多个属性分组的 Pandas 直方图
- python - 未解决的参考:PyCharm 中的“Httpresponse”错误