Tôi hiện đang cố gắng tuyên truyền một hàng bảng <tr>
mẫu thành một thẻ <tbody>
. Dưới đây là một ví dụ:Mẫu phá hủy/Knockout 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
};
});
Tất cả mọi thứ trong HTML sẽ đúng dữ liệu ràng buộc cho đến khi nó chạm bàn; tất cả các ràng buộc dữ liệu sau đó trở nên chết.
Tôi khá mới đối với Durandal và đang học khi tôi đi.
Có lỗi nào trong bảng điều khiển javascript của trình duyệt không? – nemesv
bạn có thể đăng toàn bộ mã của mình không. Những gì bạn đã hiển thị ở đây sẽ hoạt động. Ngoài ra, tại sao bạn áp dụng ứng dụng này? chỉ cần tạo một biến mới. –
CẬP NHẬT: vì cả hai bạn nói gì, tôi bắt đầu điều tra cẩn thận ở bất kỳ nơi nào khác trong mã có thể gây ra sự cố. Đã có một ràng buộc dữ liệu cũ từ một tác giả trước đây đang ngồi lồng nhau ở gần dưới cùng của DOM của phương thức đã gây ra lỗi giao diện điều khiển rằng dữ liệu liên kết đã chết/không đi đến bất cứ điều gì (tại sao tôi không nhận thấy nó trước đây? , Bạn sống và bạn học). Một khi tôi nhận xét nó ra, tôi bắt đầu nhận được một lỗi giao diện điều khiển nói rằng nó 'Không thể tìm thấy mẫu với ID tableTemplate'. Tôi sẽ tiếp tục điều tra. – Arctic