2017-11-17 5 views
-1

Ich habe eine beobachtbare Eigenschaft (benannte Eigenschaften) in meinem Objekt. Leider wird es nur aktualisiert, wenn ich es das erste Mal ändere.Observable nur zum ersten Mal aktualisieren

Was kann falsch sein?

Code:

var Session = function(vm, session) { 
var self = this; 
ko.mapping.fromJS(session, {}, self); 

self.selectedSessionProperty = ko.observable(''); 

self.restarting = ko.observable(false); 

if (! ko.isObservable(self.properties)) { 
    self.properties = ko.observableArray(); 
} 

self.availableNewProperties = ko.computed(function() { 
    var addedIndex = {}; 
    $.each(self.properties(), function(index, property) { 
    addedIndex[property.key] = true; 
    }); 
    var result = $.grep(vm.availableSessionProperties(), function(property) { 
    return ! addedIndex[property.name]; 
    }); 
    return result; 
}); 
}; 
+1

sind eine bedingte Initialisierung des _properties_ var tun? Ich weiß nicht, was ich vermisse, aber ich sehe keine Veränderungen der Var. Könnten Sie weitere Informationen oder ein externes Snippet hinzufügen? –

+0

Ich muss auf eine andere Art und Weise fragen - wie kann ich wissen, welche Funktion das beobachtbare Array ändert? – Grzegorzg

Antwort

Verwandte Themen