Ich bin neu bei Rivets.js. Vor diesem Code:Rivets.js rv-show funktioniert nicht mit rv-each
<div id="main">
<div>
<button rv-on-click="toggle">
Toggle
</button>
</div>
<div>
Dynamic headers sould be visible: {showDynamicHeaders}
</div>
<table>
<thead>
<tr>
<th>Fixed header</th>
<th>Fixed header</th>
<th rv-show="showDynamicHeaders" rv-each-item="items">
{item.name}
</th>
</tr>
</thead>
</table>
</div>
var rvcontext = {};
var rview = rivets.bind($("#main"), rvcontext);
rvcontext.showDynamicHeaders = true;
rvcontext.items = [
{
name : "Dynamic header 1"
},{
name : "Dynamic header 2"
},{
name : "Dynamic header 3"
}
];
rvcontext.toggle = function(){
rvcontext.showDynamicHeaders = !rvcontext.showDynamicHeaders;
}
würde ich den Tisch des dynamischen Header erwarten zu zeigen oder nicht, je nach dem Wert von showDynamicHeaders
. Aber es scheint nicht zu funktionieren; Stattdessen sind die Header sichtbar oder nicht abhängig von initial Wert von showDynamicHeaders
, aber ihre Sichtbarkeit ändert sich nicht, wenn der Wert aktualisiert wird.
Siehe this fiddle für ein Live-Beispiel.
Ich mache etwas falsch?
Das funktioniert, aber ich würde gerne rv-each und rv-show auf demselben Element haben, weil ich einen Fall habe, in dem einige 'tr's behoben sind und andere dynamisch sind. Ich werde die Frage aktualisieren, um diese Anforderung aufzunehmen. – abl
Ich hatte ähnliche Probleme zuvor und muss noch rv-show auf dem gleichen Tag wie rv-each arbeiten. Scheint, dass rv-show versucht, vor dem rv zu laufen - jeder hat das Element tatsächlich an das DOM angehängt ... zumindest bekomme ich einen JS-Fehler darüber, wie das Elternelement des Elements nicht gefunden werden kann. Meine Lösung bestand darin, stattdessen rv-class zu verwenden und eine "hide" -Klasse hinzuzufügen, wenn die Zeile nicht angezeigt werden soll. Nicht sicher, ob das für dich funktionieren würde. – David784
Das wäre eine akzeptable Problemumgehung, aber ich kann es nicht zum Laufen bringen. In [this fiddle] (https://jsfiddle.net/_abl/afnqufw7/) zum Beispiel ist die Klasse 'visible' immer präsent, unabhängig vom Wert von' showDynamicHeaders'. Hast du ein funktionierendes Beispiel? – abl