发送阵列在车把上发挥作用?(Send array to function in handlebars

2019-11-04 03:36发布

我有以下的代码...

 var mainArray = 
{
    nestedArrays:
    {
        array1:[... items ...],
        array2:[... items ...]
    }
};

var source =
    '{{#nestedArrays}}' +
        '{{#each this}}' +
            '<div class="listItem" onclick="populateSecondMenu({{SEND THIS ARRAY!}});">' +
                '<div class="leftSide">' +
                    '<div class="listTitle">Indicator : {{this.length}} </div>' + 
                '</div>' +
            '</div>' +
        '{{/each}}' +          
        '{{/items}}';

var template = Handlebars.compile(source);

$('.list').html(template(mainArray));

正如你已经可以看到这里,我可以遍历这个结构,并把两个“数组1”和“数组2”里面的UI列表项的长度。

然而,什么我也希望能够做的事 - 是能够在当前项目传递给函数时的“#each”标签中 - 看到函数调用,“populateSecondMenu”? 我希望把我在现在的阵列 - 这样我就可以在传递,我会如何做呢?

提前致谢!

Answer 1:

尝试这个。 我已经使用arguments

<script type="text/javascript">
function populateSecondMenu(item) {

console.log(arguments);
}
</script>

<div class="entry">
  <h1></h1>
  <div class="body">
     {{#nestedArrays}}
        {{#each this}}
            <div class="listItem" onclick="populateSecondMenu({{this}})">
                <div class="leftSide">
                    <div class="listTitle">Indicator : {{this.length}} </div> 
               </div>
            </div>
        {{/each}}         
        {{/nestedArrays}}
  </div>
</div>


文章来源: Send array to function in handlebars?