Ich habe eine Seite entry-main
genannt und enthält diese Vorlage:Pass von Daten von einem View-Modell zum anderen in Aurelia
<template>
<entry-search></entry-search>
<entry-details></entry-details>
</template>
Innen <entry-search>
gibt es ein weiteres benutzerdefiniertes Element. Es sieht wie folgt aus:
<template>
<div class="row">
<div class="col-lg-12">
<div class="input-group">
<span id="entry_search" class="input-group-addon">
<span class="fa fa-search"></span>
</span>
<!-- important part -->
<typeahead id="choose" placeholder="Holding the place"></typeahead>
<!-- end of important part -->
</div>
</div>
</div>
</template>
Im Inneren des typeahead Viewmodel ich den Wert meiner typeahead wie diese bekommen:
$(this.id).on('typeahead:selected', function (e, item) {
this.selected = item;
});
Meine Frage ist nun, wie kann ich die this.selected
von meinem typeahead- Viewmodel in meinem Entry-Details-Viewmodel?
Und nur für Klarheit, es sollte etwas, was wie folgt aus:
<entry-main>
<entry-search>
<typeahead></typeahead>
</entry-search>
<entry-details>
${selected}
</entry-details>
</entry-main>
Das könnte tatsächlich funktionieren. Ich habe es selbst nicht getestet, aber ich habe den 'EventAggregator' von Aurelia benutzt. Auf diese Weise konnte ich problemlos Daten von einem beliebigen Viewmodel an ein beliebiges anderes Viewmodel übergeben. –
hey, @JorisDecraecker, das ist großartig! Sie sollten es definitiv als Antwort posten. –