Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript knockout.js中的嵌套循环_Javascript_Loops_Knockout.js_Nested Loops_Knockout 2.0 - Fatal编程技术网

Javascript knockout.js中的嵌套循环

Javascript knockout.js中的嵌套循环,javascript,loops,knockout.js,nested-loops,knockout-2.0,Javascript,Loops,Knockout.js,Nested Loops,Knockout 2.0,我开始学习一些web编程并学习knockout.js,因为我对.Net中的MVVM有一定的经验,所以对MVVM模式很熟悉 但是我在使用嵌套数组进行循环时遇到了一些问题。模型非常简单:我有一系列的主题,每个主题都有一系列的故事 您可以在上查看完整代码,但这里有一个简化版本: ViewModel.js: function Story(t, u, v) { var self = this; self.summary = ko.observable(t); self.url =

我开始学习一些web编程并学习knockout.js,因为我对.Net中的MVVM有一定的经验,所以对MVVM模式很熟悉

但是我在使用嵌套数组进行循环时遇到了一些问题。模型非常简单:我有一系列的主题,每个主题都有一系列的故事

您可以在上查看完整代码,但这里有一个简化版本:

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 -->​
我一直遇到的问题是故事循环。我不断收到
消息:ReferenceError:未定义摘要但我在Chrome中调试了代码,stories实际上是一个定义了属性
summary
的对象数组


这里我做错了什么?

当你把元素放在一个不在单元格内的
tr
中时,浏览器会方便地将它们移到外面,它们会与整体视图模型绑定在一起

因此,您只需确保元素位于单元格内,如:

<tr>
    <td>
       <a data-bind="attrib: { href: url, title: summary} "></a>
       <span data-bind="text: summary"> </span>
    </td>
</tr>


以下是您的小提琴的更新:

谢谢!我永远也想不到!