我正在尝试解决我使用Knockout的问题。 我想使用模板来制作我正在努力清洁的视图。 但是,我无法做到,因为目前我需要将一个额外的参数传递给我的模板,然后需要在函数中用作参数。直到现在,我还没有办法做到这一点。
这是我创建的模板:
<script type="text/html" id="my-template">
<div data-bind="click: $root.selectItem.bind($data,$data.type)">
</script>
<div data-bind="template:{name:'my-template',foreach: contactInfo().Children, data:{type:'firstContactList'}"></div>
<div data-bind="template:{name:'my-template',foreach: contactInfo().Children, data:{type:'SecondContactList'}"></div>
所以基本上,我想要的是能够将foreach与我的模板一起使用并传递额外的参数firstContactList
或SecondContactList
,这是一个字符串。
到目前为止,我还没有成功做到这一点......
答案 0 :(得分:2)
您无法将额外数据传递给模板,但您可以重构代码以便能够传递任何内容:
<script type="text/html" id="my-template">
<div data-bind="foreach: children">
<div data-bind="click: $root.selectItem.bind($data, $parent.type)"></div>
</div>
</script>
<div data-bind="template:{name:'my-template', data:{children:contactInfo().Children, type:'FirstContactList'}"></div>
<div data-bind="template:{name:'my-template', data:{children:contactInfo().Children, type:'SecondContactList'}"></div>