如何从 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
键实际上被设置为事件的 detail
。 name
属性 然后用于构建事件类型(它将是 core-signal-$name
)。
在此处查看文档 https://github.com/Polymer/core-signals/blob/master/core-signals.html#L79
我正在 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
键实际上被设置为事件的 detail
。 name
属性 然后用于构建事件类型(它将是 core-signal-$name
)。
在此处查看文档 https://github.com/Polymer/core-signals/blob/master/core-signals.html#L79