Knockout.js 如何将单个表模板绑定到knockoutjs中的所有3个部分?
我有一个包含3个部分的divKnockout.js 如何将单个表模板绑定到knockoutjs中的所有3个部分?,knockout.js,Knockout.js,我有一个包含3个部分的div <div> <section> /--bind table Table.html template with HR Details--/</section> <section> /--bind table Table.html template with Developers--/</section> <section> /--bind table Table.html
<div>
<section> /--bind table Table.html template with HR Details--/</section>
<section> /--bind table Table.html template with Developers--/</section>
<section> /--bind table Table.html template with Managers--/</section>
</div>
/--使用HR详细信息绑定table.html模板--/
/--与开发人员绑定table.html模板--/
/--使用管理器绑定table.html模板--/
我有一个表格模板,即table.html
<table id="emptable">
<thead>
<tr>
<th>Name</th>
<th>Designation</th>
</tr>
</thead>
<tbody data-bind="foreach: EmpDetails">
<tr>
<td style="width:25%" data-bind="text: Name"></td>
<td style="width:25%" data-bind="text: Designation"></td>
</tr>
</tbody>
</table>
名称
任命
我想在所有3个部分中使用相同的表,使用不同的观察值。
例如:我观察到的是人力资源细节、开发人员、经理。
我想在所有具有不同观测值的部分中使用相同的表结构。
请建议我如何在knockoutjs中实现这一点。按照
function ViewModel() {
var self = this;
self.HRDetails = ko.observable(/* ... */);
self.Develeopers = ko.observable(/* ... */);
self.Managers = ko.observable(/* ... */);
self.sections = [self.HRDetails, self.Develeopers, self.Managers];
}
及
我是否应该在模板数据绑定中指定“foreach”属性???@ebramtharwat否,不一定。如果您不指定任何其他内容,则模板
绑定将在当前节
上工作。因此,它将在节的每个循环中获取数据,并将其用作数据???@ebramtharwat您也不需要指定数据
。foreach
绑定设置上下文,模板使用上下文。如果HRDetails
,developers
和Managers
具有相同的结构,并且模板可以呈现该结构,那么您不需要指定模板名称以外的任何内容。@ebramtharwat如果您使用当前设置准备JSFIDLE,那么我可以尝试改进它。
<div data-bind="foreach: sections">
<section data-bind="template: {name: 'yourTableTemplate'}">
</section>
</div>