Template.body.helpers returns 无值

Template.body.helpers returns no value

由于我的 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 的值没有附加到锚点上。

我认为您只需要添加为已注册的助手,而不是附加到正文。 Template.registerHelper('rootURL', function() {...}); 然后 return 适当的值。 Meteor 文档在 registerHelper.

上有更多内容

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

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

如本文所述post