绑定模板时传递变量

Pass variable when binding template

目前我是这样绑定模板的

 <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 中删除 -(破折号),因为这会使它成为无效的标识符。我建议将其重命名为 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-->