Template.body.helpers不返回任何值

时间:2016-01-13 10:44:23

标签: meteor meteor-blaze

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

事实证明我误解了body模板。我认为它应该是所有人都可以访问的。它用完了并非如此。它旨在允许直接在<body>标记中使用帮助程序。

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

正如本文https://stackoverflow.com/a/28837834/763962

中所述