Dart Cross-Polymer Action Listeners

时间:2014-09-28 16:03:35

标签: dart actionlistener dart-polymer

我定义了两个dart聚合物组件:输入和列表

这看起来像这样:

@CustomTag('input-button')
class Input extends PolymerElement {

  @observable String value = '';
  Input.created() : super.created();

  void blah(Event e, var detail, Node target) {

      someMethodCallToTheOtherObject(value);
  }
}

和另一个元素:

@CustomTag('page-content')
class PageContent extends PolymerElement {

  final List<String> values = stuff;

  PageContent.created() : super.created();

  someMethodCallListerningForEventInOtherObject(String value) {
    values.add(value);
  }
}

如代码中所示,我正在尝试设置ActionListerner,以便在第一个按钮对象中“触发”一个方法时,它会使用给定参数调用第二个对象中的方法。

我知道这可能是一个基本方面,但我没有看到这个概念在任何地方都有很好的记录。你可以给我指出正确方向的任何意见。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以查询一个元素并添加一个事件监听器

(querySelector(' /deep/ page-content') as PageContent)
    .someMethodCallListerningForEventInOtherObject(value);

as PageContent不是必需的,但它可以启用自动完成功能 您还需要导入包含PageContent类的文件才能使其正常工作。

或者您可以使用core-signals之类的元素或其他一些可能的变体,具体取决于元素的组织方式(请参阅我对您的问题的评论)。