Jquery mobile 未定义KnockoutJS嵌套foreach
我会尽量简短。我的视图模型如下所示:Jquery mobile 未定义KnockoutJS嵌套foreach,jquery-mobile,knockout.js,knockout-2.0,Jquery Mobile,Knockout.js,Knockout 2.0,我会尽量简短。我的视图模型如下所示: var ViewModel = { Cameras: ko.observableArray(), Current: ko.observableArray() }; <!-- ko foreach: Cameras --> <div data-role="collapsible"> <h3 data-bind="text: CameraName"></h3>
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 -->
我想这样做:
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属性来自当前数组,但当我这样做时,我得到“当前未定义”。我已经查看了nested foreach,但一定有什么我没有正确理解的地方。
Current
必须是相机中项目的属性
就像这样
var Camera = function() {
this.Current = ...
}
您可以尝试淘汰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 -->
当前
必须是摄像机中项目的属性
就像这样
var Camera = function() {
this.Current = ...
}
您可以尝试淘汰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 -->
Cameras阵列在文档准备就绪时填充,但当前阵列在不同的时间重新填充。当淘汰赛在摄像机中循环时,它甚至可能是空的。使用两个不同的数组(如我上面的问题)是否没有办法做到这一点?$parent是关键:)非常感谢我的朋友@维克托布隆达尔不是问题。:)摄影机阵列在文档就绪时填充,但当前阵列在不同时间重新填充。当淘汰赛在摄像机中循环时,它甚至可能是空的。使用两个不同的数组(如我上面的问题)是否没有办法做到这一点?$parent是关键:)非常感谢我的朋友@维克托布隆达尔不是问题。:)