Voglio essere in grado di visualizzare una tabella solo se ci sono elementi in una matrice. Ho semplificato le mie esigenze per questo esempio di jsfiddle.knockout.js cambia lo stato visibile in base a se l'array è vuoto o no
JS:
var view_model = {
lines: ko.observableArray([
{
content: 'one'},
{
content: 'two'},
{
content: 'three'},
{
content: 'four'},
]),
remove: function(data) {
view_model.lines.remove(data);
}
};
ko.applyBindings(view_model);
HTML:
<span data-bind="visible:lines">Lines Exist</span>
<ul data-bind='foreach:lines'>
<li>
<button data-bind="click:$parent.remove">
Remove
</button>
<span data-bind="text:content"></span>
</li>
</ul>
Fondamentalmente ho una web app in cui le linee possono essere rimossi dalla tabella. Se array.length == 0
, voglio nascondere l'intera tabella.
Funzionava davvero in una volta? 'data-bind =" visible: lines "' non sembra funzionare ora. Controlla il tuo violino. 'data-bind =" visible: lines(). length "' funziona, ma è meno elegante:/ – Will
ho appena eseguito il violino, ho rimosso le righe e rimosso il tavolo. –
Strano, non fa per me. http://i.stack.imgur.com/onb6q.png – Will