Por lo que hice en el pasado (antes de usar knockoutjs) llamaría a la función tabs() cada vez que actualicé la vista en una página. Estoy tratando de hacer esto en una página de knockoutjs que he hecho. Cada vez que cambio la matriz observable, se des-inicializan las pestañas jquery. Está bien. Llamaré a la función. Esto no parece hacer nada.Jquery UI tab init después del cambio de matriz en knockoutjs
var viewModel = {
lines: ko.observableArray([]),
activeTab: ko.observable(),
addLine : function() {
var self = this;
$.post('/add/line', {customer_id : customer_id } , function(data) {
var line = ko.toJS(data);
self.lines.push(new Line(line.id, line.name, line.equipType, line.model, line.height, line.length, line.loadsWeek, line.weight, line.width, line.pallets));
$("#lineTabs").tabs({ selected: 0 });
$(".palletTabs").tabs({ selected: 0 });
});
}
};
Por alguna razón, funciona bien cuando estoy inicializando la página.
$.getJSON("/json/all/lines", { customer_id : customer_id } , function(data) {
var mappedData = ko.utils.arrayMap(data, function(line) {
return new Line(line.id, line.name, line.equipType, line.model, line.height, line.length, line.loadsWeek, line.weight, line.width, line.pallets)
});
viewModel.lines(mappedData);
$("#lineTabs").tabs({ selected: lineTabIndex });
$(".palletTabs").tabs({ selected: 0 });
});
¿Faltan algo aquí? Gracias por cualquier ayuda.
Hey gracias por esto. Me acabo de enterar hace unos minutos que la destrucción tenía que pasar y eso me ayudó. He visto algunos de sus ejemplos vinculantes anteriormente, pero no parecían funcionar, pero esto sí. Su encuadernación parece una solución mucho más elegante. Gracias por su ayuda de nuevo. Tu el maestro Knockout. –
+1 ¡Una vez más, su conocimiento de KO me salva el día! –
+1 Gracias por esto, no era exactamente lo que necesitaba, ¡pero me acerqué más! –