绑定值时,on-change事件未正确触发

eny*_*nyo 5 dart dart-polymer

我有这个HTML代码:

<textarea id="text-to-convert" on-change="change" value="{{text}}"></textarea>
Run Code Online (Sandbox Code Playgroud)

这个飞镖码:

import "dart:html";
import 'package:polymer/polymer.dart';

@CustomTag('dictionary-converter')
class DictionaryConverter extends PolymerElement with ObservableMixin {

  @observable String text = "Initial text";

  void change(Event event, var detail, TextAreaElement textElement) {
    print(textElement.value);
    print(text);
  }

}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,on-change事件仅会不时触发.(我还没知道到底是什么时候).

当我删除value={{text}}绑定时,每次更改textare时都会正确触发事件.

我忽略了什么或这是一个错误吗?

Nat*_*ial 7

使用Polymer 0.8+,您可以使用*yourFieldName**已更改.当被观察的属性改变时,Changed将调用该方法.由于String text是双向数据绑定,更改textarea的值将更改值String text并调用该textChanged方法.这适用于您的原始代码,不需要ObservableBox

import "dart:html";
import 'package:polymer/polymer.dart';

@CustomTag('dictionary-converter')
class DictionaryConverter extends PolymerElement with ObservableMixin {

  @observable String text = "Initial text";

  textChanged(oldValue) {
    print("textarea: ${this.shadowRoot.query("textarea").value}");
    print("text: ${text}");
  }
}
Run Code Online (Sandbox Code Playgroud)