Come accedere alle variabili di condivisione & tra elementi personalizzati? Ho i seguenti file ...Elementi personalizzati Aurelia all'interno di elementi personalizzati e variabili di condivisione
tip.html
<template>
<div class="tip-container">
<content select="tip-trigger"></content>
<content select="tip-content"></content>
</div>
</template>
tip.js
export class Tip {}
punta-trigger.html
<template>
<span class="tip-trigger" click.trigger="showTip()">
<content></content>
</span>
</template>
tip-trigger.js
export class TipTrigger {
showTip() {
console.debug(this);
}
}
tip-content.html
<template>
<span class="tip">
<content></content>
<span class="tip__close tip__close--default">×</span>
<span class="tip__color"></span>
</span>
</template>
punta di content.js
export class TipContent {}
nella mia classe Tip
vorrei avere un nome di variabile visible
. Quando showTip
viene attivato, visible
dovrebbe essere impostato su true, che poi utilizzerei per aggiungere una classe in tip-content.html. Come posso condividere variabili tra questi elementi personalizzati per farlo?
L'idea è di creare un elemento per mostrare i pop-tip di tip in cui qualsiasi tipo di contenuto può essere il trigger e qualsiasi tipo di contenuto può essere visualizzato quando attivato. Esempio di base:
<tip>
<tip-trigger><button>?</button></tip-trigger>
<tip-content><div>Here is some helpful info...</div></tip-content>
</tip>
Quello era il pezzo mancante. Grazie! – Dustin
@David M. Brown Ho pensato che non avrebbe funzionato se si aggiungessero 2 suggerimenti in una vista perché si suppone che iniettino dei singleton (a meno che non si usi il decoratore "transient' in Tip). Ma il fatto è che [funziona] (http://plnkr.co/edit/5nwPD8rkRm2jWTBtw874?p=preview). Se si utilizza una classe diversa per controllare la vista Tip [si comporta realmente come un singleton] (http://plnkr.co/edit/aA2YscqOaPkV5NUCiYe0?p=preview). Curioso ... – DaniCE
Anch'io ho condiviso questa preoccupazione. Sto ancora imparando molto su come funziona Aurelia e le cose associate. – devguydavid