在 AngularDart 中如何使用 select 元素的 onchange 事件来传递对象而不是字符串?
How do I use a select element's onchange event to pass an object instead of a string in 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 报告 "The bound output ngModelChange does not exist on any directive or on the element" - 那么我需要添加什么指令?
尝试将第一行更改为:
<select (change)="addChild($event)">
这应该可以完成工作。
您可能还会发现在预期的位置打印字符串而不是完整的对象很方便:
<option *ngFor="let child of menuItem.children" [value]="child.id">
可能(或可能不):
<select (ngModelChange)="addChild(child.id)">
当然,如果它更适合您并且您有合适的 属性。 YMMV.
AngularDart 的 SelectElement 仅支持字符串作为值。如果您想传递任意对象,您将需要使用不同的组件 - 一个支持此类功能的组件。
这是我想要完成的。
<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 报告 "The bound output ngModelChange does not exist on any directive or on the element" - 那么我需要添加什么指令?
尝试将第一行更改为:
<select (change)="addChild($event)">
这应该可以完成工作。
您可能还会发现在预期的位置打印字符串而不是完整的对象很方便:
<option *ngFor="let child of menuItem.children" [value]="child.id">
可能(或可能不):
<select (ngModelChange)="addChild(child.id)">
当然,如果它更适合您并且您有合适的 属性。 YMMV.
AngularDart 的 SelectElement 仅支持字符串作为值。如果您想传递任意对象,您将需要使用不同的组件 - 一个支持此类功能的组件。