将函数作为参数传递给 jQuery 模板
Passing function as parameter to jQuery template
我正在尝试将函数作为参数发送到 jQuery 模板并显示该函数返回的第一个元素。
在下面的示例中,数据变量是一个函数,我试图附加返回的第一个元素。这不是将数据存储到变量中的解决方案,因为在很多情况下数据是数组而不是函数。
var template= ' {{each things}}{{if $index == 0}}<span>${this.Name}</span>{{/if}}{{/each}}';
$('.dropdownText').text(jq.tmpl(template, data));
我不确定我的问题是否正确,但如果问题是数据可以是函数或数组,你可能只需要这样做
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 模板并显示该函数返回的第一个元素。
在下面的示例中,数据变量是一个函数,我试图附加返回的第一个元素。这不是将数据存储到变量中的解决方案,因为在很多情况下数据是数组而不是函数。
var template= ' {{each things}}{{if $index == 0}}<span>${this.Name}</span>{{/if}}{{/each}}';
$('.dropdownText').text(jq.tmpl(template, data));
我不确定我的问题是否正确,但如果问题是数据可以是函数或数组,你可能只需要这样做
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)));