目前我以这种方式绑定模板
<div data-bind="template: { name: 'comp-template', foreach: company}">
现在我需要在绑定模板时传递变量"host-company" = true
,以便我可以从comp-template视图访问该变量。我怎么能这样做?
注意:目前我从json文件获取公司详细信息,当前视图如下所示
Host company: <span data-bind="if: text:host.company"></span>
此输出到Host company: true
。所以我想要这样的东西
<div data-bind="template: { name: 'comp-template', foreach: company, data: {host-company: text:host.company} }">
这样我就可以在模板中使用text:host.company的值作为host-company。
答案 0 :(得分:0)
首先,您需要从-
中删除host-company
(短划线),因为这会使其成为无效的标识符。我建议将其重命名为hostCompany
或类似的内容。
假设有一个名为 - hostCompany
的属性,它是company
数组内部对象的一部分,您可以将该变量传递到data
对象包装器中,如下所示 -
<div data-bind="template: { name: 'comp-template', foreach: company, data: { hostCompany: hostCompany } }">
或者像这样 -
<div data-bind="template: { name: 'comp-template', foreach: company, data: { hostCompany: true } }">
修改强>
假设您有一个对象host
(在 root 级别)具有名为company
的布尔属性,您想要传递给模板的值,你可以像下面这样做 -
<div data-bind="template: { name: 'comp-template', foreach: company, data: { hostCompany: host.company } }">
您可以在模板中访问此参数 -
<!--ko if: hostCompany -->
<span>Host company is true</span>
<!--/ko-->