Как передать произвольные данные в функцию-обработчик события щелчка из полимерного веб-компонента Dart

В веб-интерфейсе Dart можно было передавать произвольные данные для работы в ответ на события, например, следующий фрагмент передает значение2 кincrement(int incBy) метод в ответ на событие нажатия кнопки:

<!-- Web UI -->
<element name="x-click-counter">
  <template>
    <button on-click="increment(2)">  <!-- passing a value of 2 -->
      Click me
    </button>   
  </template>
</element>
<script>
  import 'package:web_ui/web_ui.dart';

  class CounterComponent extends WebComponent {
    void increment(int incBy) {        // accept the value of 2
      count = count + incBy;
    }
  }
</script>

В Polymer (и Polymer.dart) для атрибута события при нажатии требуется строковая версия имени функции, а не фактический вызов функции. Это описано настраница полимерных документов как:

Значением атрибута обработчика события является строковое имя метода в компоненте. В отличие от традиционного синтаксиса, вы не можете поместить исполняемый код в атрибут.

Используя polymer.dart, это выглядит так:

<polymer-element name="x-click-counter">
  <template>
    <button on-click="increment">  <!-- can't pass a value of 2, as you need to pass a string -->
      Click Me
    </button>
  </template>
</polymer-element>
<script>
  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 ++;
    }
  }
</script>

Вопрос: Как передать произвольное значениеincrement функционировать?

Ответы на вопрос(3)

Ваш ответ на вопрос