我试图将视图模型中定义的ObservableArray
中的特定对象传递给具有索引号的模板。
在我看来,它看起来像这样:
<!-- ko template: { name: "fooTemplate", with: FooCycles()[0] } --><!-- /ko -->
<script id="fooTemplate" type="text/html">
//some HTML for a individual FooCycle here
</script>
我收到了
Uncaught ReferenceError: Unable to process binding "template: function (){return { name:"fooTemplate",with:FooCycles()[0]} }"
错误。在with绑定下,它仍将焦点集中在我的JS调试器(Chrome)中。我可以在模型定义中访问用于某些
ko.computed
属性的特定数组对象:var fstsum = parseFloat(self.FooCycles()[0].sum());
var sndsum = parseFloat(self.FooCycles()[1].sum());
我可以毫无问题地在
FooCycles
中使用foreach
:<!-- ko foreach: FooCycles -->
<div class="item">
<!-- ko template: { name: "fooTemplate", with: $data } --><!-- /ko -->
</div>
<!-- /ko -->
FooCycles()[0]
在javascript中可用,但在Knockout.js中不可用。有没有办法在淘汰赛中获得带有索引的数组对象? 最佳答案
Template binding在文档中提供的受支持的“附加”参数下未列出with
。
它与您的foreach
配合使用的原因是:
数据—一个对象,提供作为要渲染的模板的数据。如果省略此参数,KO将查找foreach参数,或者将使用当前模型对象作为后备。
将with
更改为data
,对于foreach
,您可以忽略它。
关于javascript - Knockout.js:与索引号为特定Observable Array的模板的绑定(bind),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24072920/