我目前正在尝试将表格行<tr>
模板传播到<tbody>
标记中。这是一个例子:
HTML:
<table>
<tbody data-bind="template: { name : 'tableTemplate', foreach : tableRow }">
</tbody>
</table>
<script type="text/html" id="tableTemplate">
<tr>
<!-- First Name -->
<td data-bind="text: firstName"></td>
<!-- Last Name -->
<td data-bind="text: lastName"></td>
</tr>
</script>
DurandalJS:
define(function(require) {
var self = this;
self.app = require('durandal/app');
return {
tableRow: ko.observableArray([
{ firstName: "DemoFirstName" , lastName: "ExampleLastName" },
{ firstName: "ExampleFirstName", lastName: "DemoLastName" }
]);
//viewAttached and other non-applicable console log functions here
};
});
HTML中的所有内容都将正确地进行数据绑定,直到它到达表中为止;所有数据绑定事后都会死亡。
我对Durandal很新,我正在学习。
答案 0 :(得分:8)
我遇到了同样的问题,我在Durandal谷歌小组上挖出了答案。我在这个问题上发布了结果。的 KO cannot find template with ID 强>
基本上你不能使用named / ID'd Knockout模板,它们不受支持。 根据Durandal开发人员的新闻组,支持可能很快就会到来。 解决方法是使用内联或Durandal的撰写功能。
答案 1 :(得分:2)
可能想尝试这个而不是模板方法:
<table>
<tbody data-bind="foreach: tableRow">
<tr>
<!-- First Name -->
<td data-bind="text: firstName"></td>
<!-- Last Name -->
<td data-bind="text: lastName"></td>
</tr>
</tbody>
</table>
答案 2 :(得分:0)
KO模板似乎不能与Durandal一起使用 - 请使用View Composition(Durandal的创建者在此处发帖) - https://github.com/BlueSpire/Durandal/pull/50
这里有一些更加模糊:KO cannot find template with ID
答案 3 :(得分:0)
您应该尝试compose
的{{1}}。 Document here