我試圖嵌套一些jQuery模板。我知道jQuery有我可以使用的{{tmp語法,但是這對我來說不起作用,因爲我需要使用淘汰賽的foreach模板。正如你在下面看到的,我有一個綁定到第一個腳本標籤的div。這是我的第一個模板,使用knockout的foreach語法來遍歷可觀察的消息數組。在那個模板裏面,我試圖把另一個div綁定到另一個使用knockout的foreach循環遍歷'messages'數組中每個成員的數組的模板。它不工作。我得到的JavaScript錯誤(如「預期的標識符」)。任何想法我做錯了什麼?巢淘汰賽foreach模板
<div data-bind="template: {name: 'contactIMSTemplateContent', foreach:messages}"></div>
<script id="contactIMSTemplate" type="text/html">
<span class="tabTop">${viewModel.contacts()[$data.contact].name()}</span>
</script>
<script id="contactIMSTemplateContent" type="text/html">
<div class="tabContentIM" >
<div data-bind="template: {name:'IMSTemplate', foreach:${viewModel.messages()[$data.contact].ims}}" ></div>
</div>
</script>
<script id="IMSTemplate" type="text/html">
<div class="message"><span class="messageFrom">${viewModel.contacts()[0].name()}</span> ${$data}</div>
</script>
我的視圖模型看起來像:
var viewModel = {
contacts: ko.observableArray([new contact("Contact Name", "contact status", "busy", "[email protected]", "url")]),
messages: ko.observableArray([{
contact: 0,
ims: new ko.observableArray(["chat"])
}])
};
你可以發佈你的viewModel的樣子嗎? – 2011-04-23 21:10:06
哎呀,忘了。在這裏: VAR視圖模型= {聯繫人:ko.observableArray([新聯繫人( 「聯繫人姓名」, 「聯繫人狀態」, 「忙碌」, 「[email protected]」, 「URL」)),\t消息:KO .observableArray([{contact:0,ims:new ko.observableArray([「chat」])}]) \t};如果可能的話, – 2011-04-23 21:17:40
可能會編輯問題並添加它。 – 2011-04-23 21:20:31