好吧,我試過閱讀文檔;我試過改變我的設置;我嘗試了所有我能想象到的,但我無法讓我的foreach循環工作。淘汰賽foreach只是不工作
var Entry = function(item) {
this.id = item.id;
this.locations = item.locations;
this.read = ko.observableArray(item.read);
this.subentries = ko.observableArray(item.subentries);
this.creator = item.creator;
this.created = item.created;
this.entry = item.entry;
}
function managerLogModel() {
var self = this;
// declare the different components
// log entries
this.entries = ko.observableArray();
this.loadData = function(data) {
for(i=0;i<data.length;++i) {
self.entries().push(new Entry(data[i]));
}
}
...more functions that I don't believe are affecting, since I'm getting
the console to log the desired data: [Entry, Entry, Entry,...]
}
一切似乎在後端工作。在this.loadData之後,我做了一個console.log(self.entries()),我得到了一個Entry對象列表。
但是,在模板中,我無法獲得任何工作。我試過了:
<div data-bind:"foreach:$data">test</div>
<div data-bind:"foreach:$data.entries">test</div>
<div data-bind="foreach:$data">test</div>
<div data-bind="foreach:$data.entries">test</div>
有趣的是,這在我實施Entry模型之前完美地工作。我可以將JSON加載到self.entries(數據)中,模板將正確呈現數據(儘管我必須使用data-bind:not data-bind =)
任何人都可以指出我正確的方向嗎?
編輯:奇怪的語法如下所示;僅適用於數據綁定:的foreach:
<!-- ko foreach: paginated -->
<div class="entry" data-bind:"foreach:entries">
<div class="entry-header">
....
你試過''
好吧,我有它的工作。謝謝!它是無括號和data-bind =「foreach:entries」的組合。如果你想提交答案,我會很樂意接受它。 – Craig