【问题标题】:Why does Meteor template helper not return variable in context?为什么 Meteor 模板助手不在上下文中返回变量?
【发布时间】:2014-05-10 08:21:39
【问题描述】:

由于某种原因,这根本不起作用。

{{user_slugged username}}

{{username}} 是模板可用的变量。但是,它在帮助程序中给了我一个 null / undefined 值。

这是我的帮助代码

UI.registerHelper('user_slugged', function(username) {

... other stuff... return things.


}

我遇到的问题是,当我尝试这样的{{user_slugged 'Hello'}} 时,它做的一切都正确并返回了预期的结果。

但是,当我尝试 {{user_slugged username}} 时,它似乎不起作用,即使我可以在同一行代码中轻松显示 {{username}}

这看起来很奇怪,现在我在想Meteor 0.8.0 中向车把助手发送参数的方式可能已经改变。如果是这样,如果有人能指出我正确的方向或给我这个问题的答案,那就太好了。

编辑:澄清一下,我可以在与{{user_slugged username}} 相同的行中使用{{username}},所以这样的东西可以工作

<a href="{{user_slugged username}}">{{username}}</a>

username 是模板中可用的对象属性,并且在我尝试将其作为参数发送给助手时。

【问题讨论】:

  • 如果您只是在模板中的那个确切位置使用{{username}},它可以工作(显示null/undefined 以外的其他内容)?可能是您不小心更改了 user_slugged 调用周围的 context 吗?
  • 我在同一行使用用户名,没有任何模板上下文更改
  • @user1952811 是 username 对象或助手本身的属性吗?
  • 它是一个对象的属性。

标签: javascript meteor spacebars meteor-helper


【解决方案1】:

我不确定为什么会发生这种情况(也许有一个全局帮助器 username?),但您应该可以通过编写轻松修复它

{{user_slugged ./username}}

而不是

{{user_slugged username}}

点始终表示当前数据上下文,因此渲染引擎不会对此感到困惑。

【讨论】:

    猜你喜欢
    • 2015-07-28
    • 2014-11-27
    • 2013-02-18
    • 2015-03-28
    • 2014-12-12
    • 2016-06-10
    • 2015-03-11
    • 2013-05-08
    • 1970-01-01
    相关资源
    最近更新 更多