Как передать произвольные данные в функцию-обработчик события щелчка из полимерного веб-компонента Dart
В дартсВ веб-интерфейсе можно было передавать произвольные данные в функцию в ответ на события, например, следующий фрагмент передает значение2
кincrement(int incBy)
метод в ответ на кнопкуСобытие при нажатии:
Click me
import 'package:web_ui/web_ui.dart';
class CounterComponent extends WebComponent {
void increment(int incBy) { // accept the value of 2
count = count + incBy;
}
}
В Polymer (и Polymer.dart) для атрибута события при нажатии требуется строковая версия имени функции, а не фактический вызов функции. Это описано настраница полимерных документов как:
Значением атрибута обработчика события является строковое имя метода в компоненте. В отличие от традиционного синтаксиса, вы не можете поместить исполняемый код в атрибут.
Используя polymer.dart, это выглядит так:
Click Me
import 'package:polymer/polymer.dart';
@CustomTag("x-click-counter")
class CounterComponent extends PolymerElement with ObservableMixin {
@observable int count = 0;
void increment(Event event, var detail, var target) { // How do I pass 2 to this function?
count = count ++;
}
}
Вопрос: Как передать произвольное значениеincrement
функционировать?