如何从 polymer.dart 中的核心信号事件中获取详细信息?

How to access detail from core-signal event in polymer.dart?

我正在 polymer.dart 开发网络应用程序。当我使用核心信号时,我无法访问详细信息。这是我正在使用的一些代码...

main_app.dart

class MainApp extends PolymerElement {

  onClick(Event event, var detail, Node sender) {
    print('button clicked');
    fire("core-signal",  detail:{'name':'button-click', 'data':0});
  }

  ready() { 
    super.ready();
  }
}

canvasContainer.html

<link rel="import" href="../../packages/polymer/polymer.html">
<link rel="import" href="../../packages/core_elements/core_signals.html">

<polymer-element name="canvas-container">
  <div>
    <template>
      <core-signals on-core-signal-button-click="{{testAction}}"></core-signals>
      <div>
        <canvas id="canvas"></canvas>
      </div>
    </template>
  </div>
  <script type="application/dart" src="canvasContainer.dart"></script>
</polymer-element>

canvasContainer.dart

class CanvasContainer extends PolymerElement {
 // more code up here, but irrelevent
 testAction(Event e, var detail, Node sender) {
    print('event has been received');
    print(detail);
    context.moveTo(0, 0);
    context.lineTo(1000, 1000);
    context.stroke();
  }
}

MainApp 接收到按钮点击,并发送"core-signals"事件。 虽然在 canvasContainer 中,确实收到了事件,但是当我打印详细信息时,它只是说“0”。对问题的任何见解表示赞赏。

核心信号的工作方式,您的详细信息对象的 data 键实际上被设置为事件的 detailname 属性 然后用于构建事件类型(它将是 core-signal-$name)。

在此处查看文档 https://github.com/Polymer/core-signals/blob/master/core-signals.html#L79