将值传递给函数的参数无法正常工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将值传递给函数的参数无法正常工作相关的知识,希望对你有一定的参考价值。

我正在使用Anular 9和Angular Material开发小型应用程序。我有一个项目列表,每个项目都有一个“编辑”按钮。我试图通过URL将项目的ID传递给editItem()方法,而不是“出于安全考虑”(出于安全原因)“传统上”,但是这种方式:

在模板中:

<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>错误。

我在做什么错?什么是(简单的)工作替代方案?

答案

您正在函数中使用类型声明。仅传递值

像这样使用

(click)="editItem($event, node.item.id)"

仅在您的函数中传递项目ID

另一答案

正如评论所暗示的那样,Angular模板中没有命名参数的概念。您可以在.ts文件中定义函数,然后在.html文件中调用该函数。

您应该像这样调用函数:

<button mat-icon-button color="primary" (click)="editItem($event, 
node.item.id)">Edit</button>

以上是关于将值传递给函数的参数无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

将值从后面的代码传递给 Jquery 函数

Vue组件中的jQuery插件:无法将值传递给prop

如何将值从其他活动传递给 viewpager 片段?

如何将值从片段/活动传递到 xml?

关于将值传递给方法的困惑? [复制]

如何通过 Dart 中的 onTap 函数将值传递到另一个屏幕?