Javascript 为什么Meteor模板助手在上下文中不返回变量?
出于某种原因,这根本不起作用Javascript 为什么Meteor模板助手在上下文中不返回变量?,javascript,meteor,spacebars,meteor-helper,Javascript,Meteor,Spacebars,Meteor Helper,出于某种原因,这根本不起作用 {{user\u sluged username}} {{username}}是模板可用的变量。但是,它在helper中给了我一个null/未定义的值 这是我的助手代码 UI.registerHelper('user_slugged', function(username) { ... other stuff... return things. } 我遇到的问题是,当我尝试这样的东西时,{{user_slugged'Hello'}它做的一切都是正确的,并返回
{{user\u sluged username}}
{{username}}
是模板可用的变量。但是,它在helper中给了我一个null/未定义的值
这是我的助手代码
UI.registerHelper('user_slugged', function(username) {
... other stuff... return things.
}
我遇到的问题是,当我尝试这样的东西时,{{user_slugged'Hello'}
它做的一切都是正确的,并返回预期的结果
然而,当我尝试{{user\u sluged username}}
时,它似乎不起作用,即使我可以轻松地在同一行代码中显示{{username}
这看起来很奇怪,现在我在想,在Meteor 0.8.0
中,向车把助手发送参数的方式可能已经改变了。如果是这样的话,如果有人能给我指出正确的方向或者给我一个答案,那就太好了
编辑:为了澄清,我能够在与{{user\u sluged username}}
相同的行中使用{{user\u sluged username}}
,所以类似的方法是有效的
username
是一个对象属性,该属性在模板中可用,并且在我尝试将其作为参数发送到帮助器时可用 我不知道为什么会发生这种情况(可能有一个全局帮助程序用户名
?),但您应该能够通过编写
{{user_slugged ./username}}
而不是
{{user_slugged username}}
点始终表示当前数据上下文,因此渲染引擎不会对其产生混淆。如果您在模板中的确切位置使用
{{username}}
,它会工作(显示的不是null/undefined
)?可能是您无意中更改了user\u sluged
调用的上下文吗?我在完全相同的行中使用username,没有任何模板上下文change@user1952811username
是对象或助手本身的属性吗?它是对象的属性。