将模板实例数据作为关键字参数传递给嵌套模板
Passing template instance data as a keyword argument to a nested template
我有一个名为skillbar
的模板,它接受两个关键字参数title
和value
。
例如,我可以键入:
{{>skillbar title="strength" value=51}}
呈现一个标签为"强度"的技能条,其进度条已填充51%。
我有一堆我想创建的技能条,而不是做一些类似的事情:
{{>skillbar title="strength" value=51}}
{{>skillbar title="willpower" value=80}}
{{>skillbar title="imagination" value=30}}
我宁愿创建一个单独的模板,我可以在上面注册一个助手,其中包含一个可以用作参数的对象数组。
Template.abilities.helpers({
abilities: [
{title: 'strength', value: 51},
{title: 'willpower', value: 80},
{title: 'imagination', value: 30}
]
});
那么,我可以在标记中的abilities
数组上使用{{#each}}
,这样就可以创建skillbar
模板实例。
这概括了我想做的事情的本质,但它抛出了一个语法错误:
<template name="abilities">
{{#each abilities}}
{{>skillbar title={{title}} value={{value}} }}
{{/each}}
</template>
使用以下语法:
<template name="abilities">
{{#each abilities}}
{{> skillbar}}
{{/each}}
</template>
调用子模板时,如果不传递任何参数,则其当前数据上下文将设置为父模板,这恰好是{{#each}}
循环中当前迭代的能力。
或者,您可以使用以下语法:
<template name="abilities">
{{#each abilities}}
{{> skillbar title=title value=value}}
{{/each}}
</template>
但在这种特定情况下,它是多余的,但无论出于何种原因,重命名参数都可能很有用。
相关文章:
- 原型Ajax请求参数为嵌套json
- 在嵌套递归指令中将参数传递给父控制器方法
- 传递数量不确定的可能嵌套的对象属性
- 使用 jQuery 传递的 Rails 嵌套属性
- 在 React 中嵌套组件,props 不会传递给子组件
- JS:使用直接传递给函数的参数作为嵌套函数的参数
- 将参数向下传递到嵌套函数 Google Maps v3
- Javascript:具有多个查询参数的嵌套 JSON api 请求
- AngularJS - 通过ng-click传递嵌套变量
- 如何将命令行参数传递给嵌套脚本
- Javascript从给定的Javascript对象参数访问嵌套的HTML元素
- 异步.瀑布不传递嵌套mysql查询的回调
- 传递嵌套文档查询字段
- 如何在Angular JS的嵌套控制器中传递参数
- 将嵌套函数作为参数传递
- 向嵌套函数传递参数
- 将模板实例数据作为关键字参数传递给嵌套模板
- Ember.js:将参数从父视图传递到嵌套的子视图
- MVC4:如何传递嵌套的Ajax请求
- 如何重构嵌套回调函数并向节点中的每个函数传递参数