1

我会保持简短。我的视图模型如下所示:

var ViewModel = {
    Cameras: ko.observableArray(),
    Current: ko.observableArray()
};

我想做这样的事情:

<!-- ko foreach: Cameras -->
    <div data-role="collapsible">
        <h3 data-bind="text: CameraName"></h3>
        <!-- ko foreach: Current -->
            <img data-bind="attr: { src: URL }" />
        <!-- /ko -->
    </div>
<!-- /ko -->

CameraName 属性来自 Cameras 数组,而 URL 属性来自 Current 数组,但是当我这样做时,我得到“当前未定义”。我已经研究过嵌套的 foreach ,但一定有一些我不能正确理解的东西。

4

1 回答 1

4

Current必须是 中项目的属性Cameras

像这样...

var Camera = function() {
    this.Current = ...
}

你可以试试 Knockout 2.1 的$parent

<!-- ko foreach: Cameras -->
    <div data-role="collapsible">
        <h3 data-bind="text: CameraName"></h3>
        <!-- ko foreach: $parent.Current -->
            <img data-bind="attr: { src: URL }" />
        <!-- /ko -->
    </div>
<!-- /ko -->
于 2012-06-02T22:54:04.543 回答