【问题标题】:Adding a parameter to a partial breaks all my expressions in that partial向部分添加参数会破坏我在该部分中的所有表达式
【发布时间】:2018-02-03 23:14:47
【问题描述】:

我正在迭代一个数组并为每个项目生成一个部分,它返回一个名称。我添加了一个名为 text 的参数并将其设置为“hello!”。

{{#each array}}
    {{> partial text="hello!" }}
{{/each}}

将参数添加到部分会导致另一个“名称”表达式不显示。相反,只有“你好!”显示。这是我的部分代码:

{{ text }}
{{ name }}

【问题讨论】:

  • 能否分享您的部分定义和 JSON 数据?

标签: handlebars.js partials


【解决方案1】:

我认为你的问题是,你在那个部分内失去了你的范围,这是车把的正常行为。

当您调用部分时,模板中可用的所有参数都将不再存在,如果您不将它们传递给该部分。

所以如果你想在你的局部访问 {{ name }}。你必须这样称呼你的部分:

{{> partial text="hello!" name=name }}

Partials 类似于在其他编程语言中调用函数,不同之处在于您在调用中命名参数。

看看这个伪代码:

foo = "Hello world!"
myPartial(bar=foo);

function myPartial(bar) {
  echo bar; // bar will be "Hello world!"
}

也许有帮助。

Also feel free to check the handlebars partial documentation to guide you further

【讨论】:

    猜你喜欢
    • 2019-12-10
    • 1970-01-01
    • 2020-02-15
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    相关资源
    最近更新 更多