En mi ejemplo específico, hay varios widgets que tienen su propio encapsulado ViewModel. Necesito un mundial botón Guardar guarda cada individuo ViewModel. Me parece que no puede averiguar cómo llamar a funciones en el individuo ViewModels.
Ejemplo – ¿cómo puedo llamar a la función Guardar en cada Perspective: http://jsfiddle.net/sNSh2/4/
var ViewModel1 = function() {
var self = this;
self.firstName = ko.observable('');
self.lastName = ko.observable('');
self.firstName('John');
self.lastName('Doe');
self.Save = function () {
alert(ko.toJSON(self));
};
};
ko.applyBindings(new ViewModel1(), document.getElementById("person"));
var ViewModel2 = function() {
var self = this;
self.subscriptionLevel = ko.observable('');
self.subscriptionLevel('premier');
self.Save = function () {
alert(ko.toJSON(self));
};
};
ko.applyBindings(new ViewModel2(), document.getElementById("subscription"));
$('#save').on('click', function() {
});
OriginalEl autor Mike Cole | 2014-03-18
No entiendo tu problema, ¿por qué no simplemente mantener una referencia de su modelo de objeto?
Si realmente tiene problemas para obtener referencias de todos los objetos de modelo (tal vez definido en aislados de ficheros js), ko proporcionado manera de conseguir contexto objeto de objeto DOM asociado. Usted todavía puede hacer esto:
ko.applyBindings()
devuelveundefined
en octavos de final 3.2 y 3.3, lo que hace imposible llevar a cabo una referencia para el modelo de vista. Algunos ejemplos de los oficiales de la documentación son, por tanto, roto. Alguna idea de por qué?No entiendo tu problema. Nadie usa el valor de retorno de
ko.applyBindings(...)
. Por favor, pon un jsfiddle para mostrar el código.OriginalEl autor huocp
Knockout básica pub/sub funcionalidad. prueba de esto en el tamaño de jsFiddle
postbox
observable.básicamente, sí, eso es correcto.
OriginalEl autor Nathan Fisher
Sólo necesita crear una instancia de su ViewModel1 y ViewModel2 funciones:
OriginalEl autor Tuan