gpt4 book ai didi

javascript - 如何让我的辅助函数首先加载? (Meteor、Node 框架)

转载 作者:太空宇宙 更新时间:2023-11-04 02:59:10 25 4
gpt4 key购买 nike

在我的 Meteor 项目中,我有几个类似的辅助函数

helpers.js

var tagStr = function () { return this.tags.join(', '); };

文章.js

Template.articles.tags = tagStr;

列表.js

Template.listing.tags = tagStr;

现在,我可以在articles.js 或listing.js 中定义该函数,但它在另一个中不起作用。或者我可以在 helpers.js 中定义它,它在两者中都不起作用..

那么,我该如何在其余脚本之前加载我的辅助函数呢?最好以“正确的方式”。

谢谢!

最佳答案

我认为您正在寻找的是一个全局可用的 Handlebars 助手 - 我将我的保存在 client/lib/handlebars.js 中 - “lib”文件夹的内容将首先加载

像这样定义每个助手:

Handlebars.registerHelper("joinArray", function(array) {
if(array)
return array.join(', ');
});

然后您可以在任何模板 html 文件中使用它,如下所示:

{{joinArray tags}}

您可以在此处了解有关 Handlebars 助手的更多信息:handlebarsjs.com/block_helpers.html

<小时/>

这是“正确”的方式,IMO,但如果你想使用普通的 javascript 函数而不是 Handlebars 助手,这也可以

<小时/>

您需要将常用的 javascript 函数放在像 client/lib/helpers.js 这样的文件中,并且不要使用“var”声明前缀

像这样:

thisIsAGloballyAvailableFunction = function(){...};

不喜欢:

var thisFunctionIsOnlyAvailableInThisFile = function(){...};

meteor 做了一件有点奇怪的事情来控制范围。任何带有“var”的内容都是其所在文件范围的本地内容,任何没有“var”声明的内容都在整个应用程序中全局可用

关于javascript - 如何让我的辅助函数首先加载? (Meteor、Node 框架),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17688482/

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