Javascript 使用数组作为参数传递给helper中的函数,在同一数组的{{{#each}}侧(把手)

Javascript 使用数组作为参数传递给helper中的函数,在同一数组的{{{#each}}侧(把手),javascript,arrays,handlebars.js,Javascript,Arrays,Handlebars.js,我试图在电子邮件模板中使用{{{each}}。我想使用相同的数组作为参数传递给helper函数,做一些事情。我无法获取循环中数组的值 这是我正在使用的代码 handlebar.registerHelper('ifSameCbeprev',函数(索引、消息、选项){ var ind=parseInt(索引); var x=ind-1; console.log(msg);//此处值未定义。 如果(x我试着用这种方法,而不是检查html。这解决了我的问题。给出下面的代码 var msgs=[{cb

我试图在电子邮件模板中使用{{{each}}。我想使用相同的数组作为参数传递给helper函数,做一些事情。我无法获取循环中数组的值

这是我正在使用的代码

handlebar.registerHelper('ifSameCbeprev',函数(索引、消息、选项){
var ind=parseInt(索引);
var x=ind-1;
console.log(msg);//此处值未定义。

如果(x我试着用这种方法,而不是检查html。这解决了我的问题。给出下面的代码

var msgs=[{cbe:'abc',ty:'task'},{cbe:'abcd',ty:'task'}];
用于(msgs中的var k)
{
如果(k!=0)
{
var sameSender=getCFna(msgs[k-1].cbe,msgs[k].cbe);
如果(sameSender==“相同”)
{
msgs[k].creatorName=“”;
}
其他的
{
msgs[k].creatorName=msgs[k].cfna?msgs[k].cfna:msgs[k].cbe;
}
console.log(msgs[k].creatorName);
}
}
函数getCFna(prevem、currentEm)
{
if(prevem.toLowerCase().trim()==currentEm.toLowerCase().trim())
{
返回“相同”;
}
其他的
{
返回“不一样”;
}
};

{{{#每个msg}
{{{iftytask ty}}
{{creatorName}}
{{/每个}}

我对
handlebar.js
一无所知,但是你确定你需要使用
#ifSameCbeprev
而不是
#if SameCbeprev
?@VitorCanova是的。这是我创建的用户定义的助手函数。嗯。很好。你确定它返回了什么吗?你尝试过返回硬编码的值吗?或者你确定它是专业的
@index
有问题?问题不在于“@index”。问题是将“msg”作为参数传递,(即,我传递给ifSameCbeprev的是“@index”,它将给出当前索引和msg,msg是我用来循环的数组)。我没有办法访问“msg”本身内部的“msg”。@vitorcanovai如果我不能正确传递参数,函数将不会给出任何输出。因为msg在函数内部是未定义的。@VitorCanova