【问题标题】:Where to define a Meteor helper function that I can reuse in template helpers在哪里定义我可以在模板助手中重用的 Meteor 助手函数
【发布时间】:2015-01-26 19:32:02
【问题描述】:

例如,我有一个从 URL 获取参数的函数。我应该在哪里定义它,以便我可以在我的模板助手中重复使用这个函数?

【问题讨论】:

    标签: templates meteor meteor-helper


    【解决方案1】:

    client 下的lib 文件夹中定义函数。 libclient 中的文件之前加载,因此可以从client 中的所有文件访问。但是,如果您在 client 下的子目录中有文件,lib 将在它们之后加载,因此无法从那些更深的嵌套文件中访问帮助程序。

    您可能想了解有关Structuring your app 的更多信息。

    控制加载顺序的最佳策略是organize all your code in packages - 模块化和可重用性的终极。您的帮助函数应该定义在一个包中,该包将在整个应用程序中使用。

    看到这个优秀的presentation on building large Meteor apps

    【讨论】:

    • 我在client/lib/helpers.js中定义了函数,但是Template.post.helpers找不到函数。
    • Template.post.helpers在哪里?
    • client/views/posts/post.js
    • 这解释了它 - 客户端中更深的目录(视图/帖子)在更高级别的目录(lib)之前加载。尝试创建一个全局 MyApp 对象并在那里定义帮助器。
    • @DanDascalescu 这解释了为什么我有issues with helpers inside templates
    猜你喜欢
    • 2014-08-12
    • 2015-10-13
    • 2015-10-23
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 2015-01-06
    • 1970-01-01
    相关资源
    最近更新 更多