gpt4 book ai didi

javascript - 将framework7的 Handlebars 变量传递给函数

转载 作者:行者123 更新时间:2023-12-03 01:16:54 26 4
gpt4 key购买 nike

在虚拟列表中,我有一个名为 duration 的变量,以毫秒为单位。我有一个简单的函数,可以将其转换为分钟:秒

如何将该变量传递给函数?

       function success(list){
var virtualList = app.virtualList.create({
// List Element
el: '.virtual-list',
// Pass array with items
items: list,
// List item Template7 template
itemTemplate:
'<li>' +
'<a href="#" class="item-link item-content">' +
'<div class="item-inner">' +
'<div class="item-title-row">' +
'<div class="item-title">{{name}}</div>' +

// How to pass handlebar variable?
'<div class="item-after">'+millisToMinutesAndSeconds(parseInt('+{{duration}}+', 10))+'</div>' +
'</div>' +
'<div class="item-title-row">' +
'<div class="item-subtitle">{{artist}}</div>' +
'</div>' +

'</div>' +
'</a>' +
'</li>',
// Item height
height: app.theme === 'ios' ? 63 : 73,
});
}

function millisToMinutesAndSeconds(millis) {
var minutes = Math.floor(millis / 60000);
var seconds = ((millis % 60000) / 1000).toFixed(0);
return minutes + ":" + (seconds < 10 ? '0' : '') + seconds;
}

如您所见,这是行不通的。如何获取该值并将其传递给我的函数 millisToMinutesAndSeconds

最佳答案

您可以通过构建一个自定义助手来做到这一点,如下所示:

/* You can use Handlebars.registerHelper...etc if its hbs  */
Template7.registerHelper('millisToMinutesAndSeconds', function(millis){
var minutes = Math.floor(millis / 60000);
var seconds = ((millis % 60000) / 1000).toFixed(0);
return minutes + ":" + (seconds < 10 ? '0' : '') + seconds;
});

在你的 route 将是这样的:

'.....<div class="item-after">{{millisToMinutesAndSeconds yourMillisValue}}</div>'....

关于javascript - 将framework7的 Handlebars 变量传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51972472/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com