Поэтому у меня есть четыре модели:Нокаут вложенные объекты привязок не работает (объекты не определено)
- лобби (модель вид)
- Сообщения
- Кампании
- кампании
И У меня они настроены так:
Lobby: function(Messages, Campaigns) {
var self = this;
self.chat = new Messages();
self.campaigns = new Campaigns();
},
Campaigns: function() {
var self = this;
self.campaigns = ko.observableArray();
},
Messages: function() {
var self = this;
self.message = ko.observable("");
self.messages = ko.observableArray();
},
Campaign: function(campaign) {
var self = this;
var status = ["In Lobby", "In Game", "Finished"];
self.Id = ko.observable(campaign.Id);
self.url = ko.observable("/matchmaking/" + campaign.Id);
self.mapName = ko.observable(campaign.Map);
self.mapImage = ko.observable("/Images/"+ campaign.Map +".jpg");
self.notes = ko.observable(campaign.Notes);
self.status = ko.observable(status[campaign.status]);
}
И у меня есть простое связывание для просмотра каждого сообщения в модели чата:
<div id="chat-messages" data-bind="foreach:chat.messages" style=" max-height: 250px; min-height: 80px; overflow-y: auto;">
<div data-bind="text:$data"></div>
</div>
Применить привязки Добавлено:
ko.applyBindings(this.viewModel); //where this.viewModel is an instance of Lobby
Однако я получаю следующее сообщение об ошибке:
Uncaught ReferenceError: Unable to process binding "foreach: function (){return chat.messages }" Message: chat is not defined
Я пробовал поместить их все в одну модель, разбив их вот так. Аль сортирует, он просто не хочет работать. Какие-либо предложения?
'foreach: chat(). Сообщения'? – artm
@artm, вероятно, на месте, на вид опечатки, я бы предположил, случается с лучшими из нас :-) (@ QBM5 'chat' является наблюдаемым в' Lobby') – Jeroen
Да, artm, спасибо, напишите как ответ и я приму – Jay