Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Meteor模板向Spacebars助手传递多个参数?_Meteor_Spacebars - Fatal编程技术网

如何从Meteor模板向Spacebars助手传递多个参数?

如何从Meteor模板向Spacebars助手传递多个参数?,meteor,spacebars,Meteor,Spacebars,我还没有找到一个可靠的例子 Template.registerHelper("itemLookup", function(sku, property){ return Items.findOne({sku: sku})[property]; }); 我如何在模板上称之为 我想做一些类似的事情: {{ itemLookup sku="i3_4030U" property="title" }} 它应该输出 "Intel Core i3 4030U" 不要命名模板帮助器参数,它们将以相同的顺

我还没有找到一个可靠的例子

Template.registerHelper("itemLookup", function(sku, property){
  return Items.findOne({sku: sku})[property];
});
我如何在模板上称之为

我想做一些类似的事情:

{{ itemLookup sku="i3_4030U" property="title" }}
它应该输出

"Intel Core i3 4030U"

不要命名模板帮助器参数,它们将以相同的顺序传递给帮助器函数:

{{ itemLookup "i3_4030U" "title" }}
编辑:

为什么我会在网上看到他们命名模板的例子 辅助参数

当包含另一个模板并且希望将其当前数据上下文设置为其他内容时,可以命名参数:

{{> childTemplate param1="A" param2="B"}}
在子模板标记中,您可以引用
{{param1}
{{param2}

空格键中另一个可用的把手帮助器功能是“哈希”可选参数值,您可以将其作为最后一个参数传递给帮助器参数,您可以这样使用它:

HTML

JS


哎呀。。。。。。谢谢为什么我会在网上看到命名模板帮助器参数的示例?编辑了我的答案,以在空格键中涵盖命名参数用例。谢谢!这个简明的摘要正是我想要的@fuzzybabybunny:不要混合使用模板包含语法
{{>childTemplate}
和助手语法
{{helper}
,因为它们不是相同的东西。您的假设是正确的,您不需要引用解析为模板帮助程序的参数值。@Aaron:您可以在帮助程序调用中混合使用命名参数和未命名参数(参见我的示例),但在包含子模板时,您必须命名传递给子模板的每个参数,请注意,使用此功能将完全废弃以前的数据上下文,并将其替换为您提供的参数。
{{helper "A" "B" namedParam1="C" namedParam2="D"}}
Template.registerHelper("helper", function(param1, param2, options){
  console.log("param1 :", param1);
  console.log("param2 :", param2);
  if(options && options.hash){
    console.log("namedParam1 :", options.hash.namedParam1);
    console.log("namedParam2 :", options.hash.namedParam2);
  }
});