Дартс Кросс-Полимер Действие Листернерс

У меня определены два компонента полимера дротика: вход и список

Это выглядит примерно так:

@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 ответ

Решение

Вы можете запросить один элемент и добавить прослушиватель событий

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

as PageContent не требуется, но включает автозаполнение.
Вам также необходимо импортировать файл, который содержит PageContent класс, чтобы сделать эту работу.

или вы можете использовать такой элемент, как core-сигналы или ряд других возможных вариантов, в зависимости от того, как организованы ваши элементы (см. мои комментарии к вашему вопросу).

Другие вопросы по тегам