RiotJS - ¿Cómo pasar eventos entre subetiquetas usando el patrón Observable?

No estoy realmente seguro si estoy entendiendo correctamente la forma en que funcionan los observables y cómo obtener referencias de etiquetas montadas. tengo uncomponente. Dentro de este componente tenemos uncomponente y uncomponente. El propósito es evitar el acoplamiento entre componentes. Por eso, me gustaría que micomponente de búsqueda desencadena un evento cuando se realiza una búsqueda (se hace clic en un botón). Este evento debe ser captado por elcomponente que filtrará los datos de recopilación en función de la búsqueda.

El archivo index.html carga la etiqueta usando:

index.html

riot.mount(".content", "page", null);

La página se define de la siguiente manera:

page.js

<page>
    <!-- Search tag controls -->
    <search id="searchTag"></search>

    <!-- Collection data to display -->
    <collection id="collectionTag"></collection>
</page>

El script de componente se define brevemente como:

search.js

var self = this;
riot.observable(self);

<!-- This function is called when the user click on the button. -->
self.filtering = function()
{
    <!-- We get data from inputs -->
    var info = Getting data from inputs;

    <!-- Trigger the event hoping that someone will observe it -->
    self.trigger("filterEvent", info);
}

¿Cómo puedo hacer elcomponente observar para ese evento?

A mí me parece que debería poder obtener referencias deetiqueta de búsqueda yetiqueta de colección en elpage.js. Al hacerlo, podría conectar los eventos como sigue:

searchComponent = riot.mount('search');
collectionComponent = riot.mount('collection');

searchComponent.on('filterEvent', function()
{
   <!-- Trigger function to filter collection data -->
    collectionComponent.trigger('filterData');
});

En este momento no puedo hacer que funcione así.

En el punto de ejecución,searchComponent y collectionComponent no están definidos.

I intentado también obtener referencias de estos componentes mediante el uso dethis.searchTag ythis.collectionTag en lugar de montarlos, pero en el momento en que se ejecuta el código, los componentes no se han montado y entonces no consigo una referencia a ellos.

¿Alguna idea para que funcione?

Respuestas a la pregunta(5)

Su respuesta a la pregunta