我目前正在嘗試將表格行<tr>
模板傳播到<tbody>
標記中。這裏有一個例子:Durandal/Knockout Template Binding Not Inserting
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一切都將正常的數據綁定,直到它擊中表;之後所有的數據綁定都會死掉。
我對杜蘭達頗爲陌生,而且隨着我的進步而學習。
瀏覽器的JavaScript控制檯中是否有任何錯誤? – nemesv 2013-03-21 20:59:29
你可以發佈你的完整代碼嗎?你在這裏展示的應該是有效的。另外,你爲什麼應用這個應用程序?只需創建一個新變量。 – 2013-03-21 22:26:23
更新:由於你們都說了什麼,我開始仔細研究可能導致問題的代碼中的任何其他地方。有一個來自先前作者的舊數據綁定嵌套在模式的DOM底部附近,導致數據綁定已死的控制檯錯誤/不會執行任何操作(爲什麼我沒有注意到它? ,你活着,你學習)。一旦我評論出來,我開始得到一個控制檯錯誤,說'找不到帶有ID tableTemplate的模板'。我會繼續調查。 – Arctic 2013-03-22 15:28:47