Meteor Template.body.helpers不返回任何值

Meteor Template.body.helpers不返回任何值,meteor,meteor-blaze,Meteor,Meteor Blaze,由于我的根URL在开发环境和产品环境中不同,我正在尝试使用Meteor.settings功能来正确设置我的href值 由于应用程序中到处都使用链接,因此它似乎是正文模板上的助手的自然候选对象。它的定义如下: Template.body.helpers({ rootURL: Meteor.settings.public.root_url }) <li class="{{guessesActive}}"> <a href="{{rootURL}}gues

由于我的根URL在开发环境和产品环境中不同,我正在尝试使用
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>
在模板中,它是这样使用的:

  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\u url的值不会附加到锚定中。

    我认为您只需要添加为注册的帮助程序,而不是附加到主体中<代码>模板.registerHelper('rootURL',function(){…})然后返回适当的值。Meteor docs有更多关于
    注册表帮助器的内容

    结果是我误解了
    正文
    模板。我以为这是为了让所有人都能接近。它用完了,但事实并非如此。这意味着允许直接在
    标记中使用助手

    要设置全局帮助程序,请定义一个名为
    helpers
    的全局变量,并为其分配一个对象,其中包含您希望访问的函数和变量

    正如这篇文章所解释的