ho bisogno di un attributo che può avere valore pari a zero (0
)Riot.js 2: Abilità con valore falsy
modello Rivolta:
<my-tag time="{ time }">
this.time = condition ? '10' : '0'
</my-tag>
risultato desiderato:
<my-tag time="0"></my-tag>
Tuttavia, Riot omette automaticamente l'intero attributo se ha il valore di falsa:
mia soluzione attuale:
this.on('updated',() => {
$(this.root).attr('time', this.time)
})
In altre parole, ho bisogno attributo time
avere un valore esatto di time
proprietà.
Edit:
appare come questa è cambiato da 2.2.4.
questo funziona come ci si aspetta - entrambi i tag hanno reso attributo time
con secondo valore
questo viene a mancare - tag con attributo impostato su false
ha tutta attributo rimosso
Non sono sicuro che si può mettere espressioni su un tag personalizzato nella sua definizione. Non puoi mettere l'espressione su qualche nodo interno? Inoltre, solo gli attributi booleani (ad esempio selezionato, selezionato) vengono rimossi se il loro valore è falsy (http://riotjs.com/guide/#expressions). – Antoine
@Antoine: sì, è possibile inserire espressioni nel tag personalizzato stesso. funziona come escluso. metterlo su qualche nodo interno ha lo stesso effetto. –
è strano, non riesco a riprodurre il problema sui nodi figli (usando la v2.2.4, non l'ultima). Non sto usando il compilatore (simile al flusso di lavoro di gihrig), quindi non posso testare il tag stesso. – Antoine