javascript - 将带值的参数传递给函数不能按预期工作
问题描述
我正在使用 Anular 9 和 Angular Material 开发一个小型应用程序。我有一个项目列表,每个项目都有一个“编辑”按钮。我试图editItem()
通过 URL 将项目的 id 传递给方法,而不是“传统上”(出于安全原因),但是这样:
在模板中:
<div class="item-name">{{node.item.name}}</div>
<button mat-icon-button color="primary" (click)="editItem($event, id:string = node.item.id)">Edit</button>
在 .ts 文件中:
editItem(event, id): void {
event.stopPropagation();
console.log("Item id is: " + id);
}
Missing expected ) at line <line number>
我得到一个错误,而不是预期的结果。
我究竟做错了什么?什么是(简单)可行的替代方案?
解决方案
正如评论所暗示的,Angular 模板中没有命名参数的概念。您在文件中定义函数,.ts
然后在文件中调用该函数.html
。
你应该像这样调用你的函数:
<button mat-icon-button color="primary" (click)="editItem($event,
node.item.id)">Edit</button>
推荐阅读
- python - 在输入文件python中的字符串中重复数字N次::
- angular - 角度中的嵌套表单验证
- python - reportUndefinedVariable 实现数组时出错
- connection-string - 如何加密单独文件夹中的 connectionstring.config 文件并在 web.config 中引用它
- jooq - 使用 jooq 映射 pg 对象类型
- system-calls - 以相反的顺序打印行
- python - django-filter 如何设置 RangeFilter 的样式?
- c - 尝试使用指针使函数返回两个值,但出现错误:期望标识符
- python - 使用 software-properties-gtk 返回 dbus.proxies
- java - 导出 Minecraft 开源插件时出现问题 [org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError]