gpt4 book ai didi

dart - Polymer.dart 1.0.0-rcx中的事件处理程序需要什么签名

转载 作者:行者123 更新时间:2023-12-03 02:53:45 26 4
gpt4 key购买 nike

<child-element>触发类似

fire('spoken', detail: {'message': this.$['myInput'].value});
<parent-element>处理类似的事件
<div on-spoken="heard">
<child-element></child-element>
<div>{{message}}</div>
</div>

// @eventHandler <= 1.0.0-rc.1
@reflectable
void heard(Event e) {
set('message', 'heard: ' + e.detail['message']);
}

这导致

Closure call with mismatched arguments: function 'call'

NoSuchMethodError: incorrect number of arguments passed to method named 'call' Receiver: Closure: (Event) => void from Function 'heard':. Tried calling: call(Instance of 'CustomEventWrapper', _LinkedHashMap len:1)

最佳答案

事件处理程序应具有此签名

// @eventHandler <= 1.0.0-rc.1
@reflectable
void heard(Event e, var detail) {
set('message', 'heard: ' + detail['message']);
}

为了在您还希望直接从代码中直接调用事件处理程序并且不使用处理程序内部的参数的情况下提供便利,可以将一个或两个参数设置为可选。
@reflectable
void heard(Event e, [_]) {
set('message', 'heard');
}

要么
@reflectable
void heard([_, __]) {
// do something
}

关于dart - Polymer.dart 1.0.0-rcx中的事件处理程序需要什么签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32710684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com