我正在使用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收到按钮点击,并发送“核心信号”事件。 但是在canvasContainer中,事件确实收到了,但是当我打印细节时,它只是说“0”。任何对这个问题的见解都表示赞赏。
答案 0 :(得分:0)
核心信号的工作方式,详细信息对象的data
键实际上被设置为事件的detail
。然后使用name
属性来构建事件类型(它将是core-signal-$name
)。
请参阅此处的文档https://github.com/Polymer/core-signals/blob/master/core-signals.html#L79