angular - 忘记如何处理模型中的动作点击
问题描述
我为我的按钮列表创建了模型:
export class MenuElement {
id?: string
name: string
tooltip: string
icon: string
action: void
}
并创建了简单的菜单:
constructor() {
this.menu = [
{
id: '0',
name: '',
tooltip: 'Open in Mark',
icon: 'launch',
action: this.test()
}
]
}
我在角度暂停后忘记了如何在 html 中链接动作,这种方式不起作用:
<div *ngFor='let item of menu'>
<div class="button" [title]="item.tooltip" (click)="item.action">
<mat-icon>
{{item.icon}}
</mat-icon>
</div>
</div>
测试功能只是控制台记录完成。有人可以提醒我怎么做吗?我在网上找不到解决方案
解决方案
在您的模型对象menu
中,您引用操作方法的结果,但它应该是方法本身
相应地改变它:
constructor() {
this.menu = [
{
id: '0',
name: '',
tooltip: 'Open in Mark',
icon: 'launch',
action: this.test
}
]
}
在您的模板中(感谢@Miri Gold):
<div class="button" [title]="item.tooltip" (click)="item.action()">
在你的模型中:
action: () => void
推荐阅读
- image - 使用 xxd 在基本图像中查找图像的裁剪区域
- python - call_command 不起作用,一切都像教程一样
- keras - 将 Keras 与 Tensorflow 2、Theano 或 CNTK 后端一起使用是否存在语法差异?
- c# - 如何使用 Linq 找出强类型表是否包含 C# 中另一个强类型表中的值
- c - 在 shell 中实现管道功能。在 C 中
- python - 如何在 OSM 上批量反向纬度/经度
- sql - 不能在派生表中使用 ORDER BY
- c# - 如何在 Rust 视频游戏中运行多个聊天插件
- javascript - 网络音频分析器的 getFloatTimeDomainData 缓冲区偏移量 wrt 缓冲区在其他时间和“完整文件”的 wrt 缓冲区
- node.js - 使用 PostgreSQL 向 knex 查询添加自定义列