안녕하세요 여러분, 관찰 가능한 배열에 고정 된 모델을 전달하면 KO Observable 배열과 UI가 이상하게 생깁니다. 선택 옵션을 올바르게 보여 주지만, 동적으로 단순히 아무것도 보이지 않게하려면 동적으로 작동하는 첫 번째 선택 옵션을 만들었고 완벽하게 작동합니다. 그러나 두 번째 옵션은 작동하지 않습니다. 여기 UI가 관찰 가능한 배열을 감지하지 못합니다.
는 옵션var TipoModel = function(data) {
var self = this;
self.id = ko.observable(data.id);
self.name = ko.observable(data.name);
};
var HabitacionModel = function(Huespedes) {
...
self.loadRoomsType = function() {
ajax("/api/foro/loadrooms", {}, function(data) {
self.tipoHabitacion = ko.observableArray([]);
$.each(data, function(index, habitacion) {
var hab = new TipoModel({
id: habitacion.id,
name: habitacion.nombreHabitacion
});
self.tipoHabitacion.push(hab);
});
}, "GET");
console.log(self.tipoHabitacion());
}
self.loadpartnersType = function() {
ajax("/api/foro/loadpartners", {}, function(data) {
var self = this;
self.tipoHuesped = ko.observableArray([]);
$.each(data, function(index, socio) {
var x = new TipoModel({
id: socio.id,
name: socio.nombre
});
self.tipoHuesped.push(x);
});
console.log(self.tipoHuesped());
}, "GET");
}
객실의 작업 부하에 대한 나의 모델의 코드입니다하지만 parters 기능이 작동되지 않고 동일한 코드 만 몇 가지 변경하지만 같은입니다. 내가 처음부터이 같은 관측 배열을 정의하면
<select style="width:30%; height:100%; margin-top:4px; background-color:transparent; border-color:#729A2B;" data-bind="options: tipoHuesped,
value: selectedHuesped,
optionsText: 'name',
optionsValue: 'id',
optionsCaption: 'Escoge...'" required></select>
은 내가이 동적으로 더 많은 데이터가 곧 추가 될 예정의 원인이 만들고 싶어 u는 나에게 사람들을 도울 수 있기를 바랍니다
self.tipoHuesped = ko.observableArray([
new TipoModel({
id: "1",
name: "Aeroméxico"
}),
new TipoModel({
id: "2",
name: "Magnicharters"
})
]);
작동합니다. 감사합니다.
"self.tipoHabitacion = ko.observableArray ([]);" 아약스 콜백 안에 있으면 안된다. observableArray의 새로운 인스턴스를 만들지 만, 마크 업은 이전에 바인딩되어있다. – TSV
동일한 것은 "self.tipoHuesped = ko.observableArray ([]);"입니다. – TSV