我会保持简短。我的视图模型如下所示:
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数组,但是当我这样做时,我得到“Current is not defined”。我已经研究过嵌套的foreach但是必须有一些我不能正确理解的东西。
答案 0 :(得分: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 -->