MVVMパターンは.NetでMVVMを使用した経験があるのでよく知っているので、私はいくつかのWebプログラミングを学び始めてknockout.jsを取り上げました。
しかし、ネストされた配列でループを作成するのに問題があります。モデルは非常に単純です。トピックの配列があり、それぞれにストーリーの配列があります。
Fiddleで完全なコードを確認できますが、ここに簡略化されたバージョンがあります。
ViewModel.js:
function Story(t, u, v) {
var self = this;
self.summary = ko.observable(t);
self.url = ko.observable(u);
self.up_votes = ko.observable(v);
}
function Topic(t) {
var self = this;
self.title = ko.observable(t);
self.stories = ko.observableArray();
}
function TopicListViewModel() {
var self = this;
self.topics = ko.observableArray([]);
}
topic.html:
<!-- ko foreach: topics -->
<div class="span2">
<table cellpadding="2" cellspacing="2" style="width:100%" class="table">
<thead>
<tr>
<th>
<span data-bind="text: title"> </span>
</th>
</tr>
</thead>
<tbody data-bind="foreach: $data.stories">
<tr>
<!--<a data-bind="attrib: { href: url, title: summary} "></a>-->
<span data-bind="text: summary"> </span>
</tr>
</tbody>
</table>
</div>
<!-- /ko -->
私が抱え続けている問題は、ストーリーのループにあります。私は取得し続けますが、Chromeでコードをデバッグしました。ストーリーは、プロパティが定義されたMessage: ReferenceError: summary is not defined;
オブジェクトの配列です。summary
私はここで何が間違っているのですか?