首页 > 解决方案 > 如何使用选择元素的 onchange 事件在 AngularDart 中传递对象而不是字符串?

问题描述

这就是我想要完成的事情。

<select (ngModelChange)="addChild($event)">
    <option>Add</option>
    <option [value]="null">New Item</option>
    <option *ngFor="let child of menuItem.children" [value]="child">
        {{child.title}}
    </option>
</select>

编译时,不会调用 addChild 方法。VSCode 报告“绑定输出 ngModelChange 不存在于任何指令或元素上” - 那么我需要添加什么指令?

标签: angular-dart

解决方案


尝试将您的第一行更改为:

<select (change)="addChild($event)">

那应该做的工作。

您可能还会发现打印字符串而不是预期的完整对象很方便:

<option *ngFor="let child of menuItem.children" [value]="child.id">

也许(也许不是):

<select (ngModelChange)="addChild(child.id)">

当然,如果它对您更有效并且您有合适的财产。YMMV。


推荐阅读