【问题标题】:Passing function as parameter to jQuery template将函数作为参数传递给 jQuery 模板
【发布时间】:2018-09-28 07:25:19
【问题描述】:

我正在尝试将函数作为参数发送到 jQuery 模板并显示该函数返回的第一个元素。

在下面的示例中,数据变量是一个函数,我试图附加返回的第一个元素。将数据存储到变量中不是解决方案,因为在很多情况下数据是数组而不是函数。

var template= ' {{each things}}{{if $index == 0}}<span>${this.Name}</span>{{/if}}{{/each}}';

$('.dropdownText').text(jq.tmpl(template, data));

【问题讨论】:

    标签: javascript function parameters jquery-templates


    【解决方案1】:

    我不确定我的问题是否正确,但如果问题是数据可以是函数或数组,您可能只需要这样做

    var selectedTemplate = ' {{each things}}{{if $index == 0}}<span>${this.Name}</span>{{/if}}{{/each}}';
    function getData(data) {
     if (Array.isArray(data)) return data;
     if (typeof data === 'function') return data();
    }
    $('.dropdownText').text(UMT_jq.tmpl(selectedTemplate, getData(data)));
    

    【讨论】:

    • 我已将此作为临时修复。我在看“数据”将由 jQuery 模板而不是由自定义函数处理。
    猜你喜欢
    • 2011-08-26
    • 1970-01-01
    • 2013-01-27
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多