cuốn sách gpt4 ai đã làm

javascript - 如何定义全局模板辅助函数?

In lại Tác giả: Hồ Xil 更新时间:2023-11-01 02:29:45 28 4
mua khóa gpt4 Nike

在许多模板中我想使用相同的函数,但它们必须在每个模板中定义。像这样:

function getNodesById(id){
return collection.find({sid:id}).fetch();
}

Template.navigation.getNodesById= function(id){
return getNodesById(id);
}

Template.body.getNodesById= function(id){
return getNodesById(id);
}

HTML:



...

有什么方法可以定义全局模板函数而不是模板?就像它:在 JavaScript 中:

    defined global tempele.functionA = function(...){ return ... }

在 html 中:





我可以这样做吗?我希望我把问题描述清楚了。

câu trả lời hay nhất

您可以直接使用 handlebars 注册您的助手。这是我用来显示当前用户的电子邮件地址的内容:

Handlebars.registerHelper('currentUserName', function () {
var user = Meteor.user();
if (_.isUndefined(user) || _.isNull(user)) {
return new Handlebars.SafeString(" Login");
}
return user.emails[0].address;
});

在任何模板中,我只需调用 {{currentUserName}}。对你来说就是

Handlebars.registerHelper('getNodeById', function (id) {
return collection.find({sid:id}).fetch();
});

附带说明:看看您想要如何使用它,您可能会误解 Meteor。 Meteor 是数据驱动的——不要试图强制执行流驱动的范例。如果您的模板中缺少某些数据,您应该更改数据源,而不仅仅是在模板中获取它。

关于javascript - 如何定义全局模板辅助函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15330515/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress