- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个可以放置在模板内的 Meteor 包。所以我首先尝试注册一个助手。
Template.registerHelper('testHelper', function(a, b) {
console.log(a);
console.log(b);
})
我已将包添加到 /packages
中,并在我的客户端模板中添加 {{testHelper "hello""meow"}}
时,控制台记录了 hello
和 meow
,这正是我所期望的。
当我添加 {{testHelper "hello"}}
时,我希望控制台记录 hello
和 null
,因为没有传递任何内容作为第二个参数。但它返回了 hello
和一个对象 - Spacebars.kw {hash: Object}
这个Spacebars.kw {hash: Object}
是什么?如果我希望它返回 null
该怎么办?
最佳答案
Spacebars.kw
包含一个 hash
对象,该对象具有输入参数的哈希值。
Meteor有两种匹配方法,一种是直接匹配,就是直接输入参数,例如{{testHelper "variable1""variable2""variable3"}}
,就会匹配作为 function(a,b,c)
作为变量 1-3 分别匹配 a,b 和 c。
第二种输入方法是使用哈希:
{{testHelper a="variable1" b="variable2" c="variable3"}}
这将为 function(a)
提供一个参数,其中 a 是 Spacebars.kw
对象。
Spacebars.kw
对象将有一个名为 hash
的子对象,其结构匹配:
{ "a" : "variable1",
"b" : "variable2",
"c" : "variable3" }
Meteor 将尝试直接匹配第一个参数,但如果第二个输入为空,则后续参数将作为哈希值进行匹配,例如您使用 {{testHelper 'hello'}}
其中 b
将为 null,因此它以哈希形式给出。
它通常是这样给出的,所以如果你得到 b 作为 Spacebars.kw
对象,你可以假设没有第二个输入。另一种方法是您可以使用哈希样式声明,然后直接检查哈希值是否为 null
:
{{testHelper text="Hello"}}
{{testHelper text="Hello" othertext="Hellooo"}}
和助手:
Template.registerHelper('testHelper', function(kw) {
console.log(kw.hash.text);
console.log(kw.hash.othertext);
});
关于Meteor - 什么是 Spacebars.kw {哈希 : Object},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27755891/
我有一个助手返回一个名为 game 的对象数组。在我使用的空格键中:每场比赛 我还有用户点击的 selectedGame 的 session 。 在模板中,我想在数组中显示下一个和上一个游戏的属性。我
我正在尝试使用自定义助手来转换这样的字符串: category = "Technology, Programming, Food, Cats"; 成一个数组。到目前为止我有: PostItem.js
所以我制作了一个游戏,我将使用卡片布局在帧之间进行转换。但是,每次我使用任务栏调整音量然后返回到我的游戏时,如果我按空格键(这是我的启动按钮),游戏将返回到我的第一帧,即主帧。 为什么会出现这个问题?
我已将单选按钮添加到各种表单中,尽管我可以使用“选项卡”专注于单选按钮,但我无法按“空格键”选择它们。箭头键可以工作,因此我可以在两个单选按钮之间循环,但我需要“空格键”功能。在正常情况下,这可以正常
我需要录制几千条我自己的语音片段(我正在为语音识别引擎训练声学模型) 因此,对于每一个,屏幕上都会显示一行文本,我必须说出来,然后将音频捕获为 .WAV 我找到了一个用于录制音频的示例项目;现在我想弄
我已经尝试了几种不同的方式,它们的行为方式相同(请参阅下面的代码)。我在 if 条件下使用空格键(并尝试使用帮助程序)来检查用户是否已登录,如果没有则显示登录/注册链接。如果是,请隐藏它们。 我注意到
我有一个 handlebar 语句,它将用户 ID 传递给助手。我不确定这是如何工作的。 Handlebars {{#if isowner ..}} 有 .. 这里传递给辅助功能的参数是什么?
上下文 我正在尝试使用 Handlebars 循环事件,然后嵌套循环图像。我只需要选择与事件循环当前正在进行的事件相对应的图像。 问题 我无法在嵌套的图像中传递事件的 _id。有解决方法吗? 我知道我
尝试制作一些简单的 Handlebars 助手 Handlebars.registerHelper('if_eq', function(context, options) { if (contex
我有一个带有 JavaScript 的 HTML 小游戏,要玩这个游戏,我需要单击鼠标,但我想用空格键替换。 var evt = "touchstart"; if (width >= 500)
默认情况下,如果您在 iPhone 或 iPad 上点击空格键两次,则不会得到“ ”(两个空格),而是得到“. ”(句点后跟一个空格)。有什么方法可以在代码中禁用此快捷方式吗? 更新:通过 UITe
给定功能的一部分,单击鼠标左键时可以完美地工作(切换播放/暂停功能完美)。但是,当使用 Tab 键仅使用键盘浏览方法时,会使用 Tab 键选择该按钮,但按 enter 或 空格键 不会播放或暂停音频,
我正在尝试编写一个可以放置在模板内的 Meteor 包。所以我首先尝试注册一个助手。 Template.registerHelper('testHelper', function(a, b) {
我有一个包含“问题”对象的 Mongo.Collection。每个“问题”都有一个名为 choices 的属性 Questions.insert({ text: 'What is the ca
我有这些嵌套迭代器: {{#each detailsCollection}} {{detail}} x
在 Unity 中,如何引用空格键以便在按下空格键时向对象施加力? void Update() { rb.AddForce(0, 0, forwardforce * Time.deltaTim
我一直在研究 Meteor 并听说过 Blaze,我知道 SpaceBars 是 Meteors 模板语言。但是 Blaze 是从哪里来的呢?当我查看他们的 GitHub 页面时,我只看到在我看来类似
鉴于我在 javascript 中设置了类似这样的东西: window.App.url.login = '/account/login'; 如何将该变量传递给 Meteor Spacebars 模板?
这个问题在这里已经有了答案: How to detect Keyboard key pressed in iphone? (2 个答案) 关闭 6 年前。
我想知道如何使用 SendKeys.send(); 发送 空格键它可以与其他键一起使用,但只能与空格键一起使用!! 这是我找到其他键的链接 http://msdn.microsoft.com/en-u
我是一名优秀的程序员,十分优秀!