【问题标题】:Template.body.helpers returns no valueTemplate.body.helpers 不返回任何值
【发布时间】:2016-04-18 07:15:20
【问题描述】:

由于我的 ROOT_URL 在 Dev 和 Prod 环境中不同,我正在尝试使用 Meteor.settings 功能来正确设置我的 href 值。

因为在整个应用程序中都使用了链接,所以它似乎很自然地成为正文模板上的助手。它是这样定义的:

  Template.body.helpers({
     rootURL: Meteor.settings.public.root_url
  })

在模板中是这样使用的:

<li class="{{guessesActive}}">
    <a href="{{rootURL}}guesses" class="waves-effect waves-light">Guesses
        <span class="sr-only">(current)</span>
    </a>
</li>

但是Meteor.settings.public.root_url的值并没有附加到锚点上。

【问题讨论】:

    标签: meteor meteor-blaze


    【解决方案1】:

    我认为您只需要添加为注册助手而不是附加到正文。 Template.registerHelper('rootURL', function() {...}); 然后返回相应的值。 Meteor 文档在registerHelper 上有更多信息。

    【讨论】:

      【解决方案2】:

      原来我误解了body 模板。我认为这意味着所有人都可以访问。事实并非如此。它旨在允许直接在 &lt;body&gt; 标记中使用助手。

      要设置全局帮助器,请定义一个名为 Helpers 的全局变量,并为其分配一个包含您想要访问的函数和变量的对象。

      正如本文https://stackoverflow.com/a/28837834/763962中解释的那样

      【讨论】:

        猜你喜欢
        • 2015-05-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-04
        • 2019-05-22
        • 2014-09-22
        相关资源
        最近更新 更多