相关疑难解决方法(0)

如何将任意数据从Dart聚合物Web组件传递到单击事件处理函数

在Dart的Web UI中,可以传递任意数据以响应事件,例如,以下代码段将值传递2increment(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>
Run Code Online (Sandbox Code Playgroud)

在Polymer(和Polymer.dart)中,on-click事件属性需要函数名的字符串版本,而不是实际的函数调用.这在聚合物文档页面上描述为:

事件处理程序属性的值是组件上方法的字符串名称.与传统语法不同,您不能将可执行代码放在属性中.

使用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 …
Run Code Online (Sandbox Code Playgroud)

dart dart-webui polymer

19
推荐指数
2
解决办法
8856
查看次数

标签 统计

dart ×1

dart-webui ×1

polymer ×1