Ich brauche ein Attribut zu haben, die den Wert Null (0
) haben könnenRiot.js 2: Attribut mit falsy Wert
Bereitschafts Vorlage:
<my-tag time="{ time }">
this.time = condition ? '10' : '0'
</my-tag>
Gewünschtes Ergebnis:
<my-tag time="0"></my-tag>
Riot schaltet jedoch automatisch das ganze Attribut aus, wenn es einen falschen Wert hat:
<my-tag></my-tag>
Meine aktuelle Problemumgehung:
this.on('updated',() => {
$(this.root).attr('time', this.time)
})
Mit anderen Worten, ich brauche time
Attribut genauen Wert von time
Eigenschaft zu haben.
Edit:
Sieht aus wie dies seit 2.2.4 geändert hat.
dies funktioniert wie erwartet - beide Tags Attribut time
mit nach Wert
dies nicht gelingt - tag mit Attribute auf false
hat ganzes Attribut entfernt
Ich bin nicht sicher, können Sie setzen Ausdrücke in einem benutzerdefinierten Tag in seiner Definition. Kannst du den Ausdruck nicht auf einen inneren Knoten legen? Außerdem werden nur boolesche Attribute (z. B. überprüft, ausgewählt) entfernt, wenn ihr Wert falsy ist (http://riotjs.com/guide/#expressions). – Antoine
@Antoine: Ja, Sie können Ausdrücke in benutzerdefinierte Tags selbst einfügen. es funktioniert wie freigestellt. Auf einen inneren Knoten zu setzen hat denselben Effekt. –
das ist komisch, ich kann das Problem nicht auf Kindern Knoten reproduzieren (mit v2.2.4, nicht die neueste). Ich benutze den Compiler nicht (ähnlich dem Workflow von gihrig), daher kann ich das Tag selbst nicht testen. – Antoine