gpt4 book ai didi

Meteor - 什么是 Spacebars.kw {哈希 : Object}

转载 作者:行者123 更新时间:2023-12-02 08:17:32 24 4
gpt4 key购买 nike

我正在尝试编写一个可以放置在模板内的 Meteor 包。所以我首先尝试注册一个助手。

Template.registerHelper('testHelper', function(a, b) {
console.log(a);
console.log(b);
})

我已将包添加到 /packages 中,并在我的客户端模板中添加 {{testHelper "hello""meow"}} 时,控制台记录了 hellomeow,这正是我所期望的。

当我添加 {{testHelper "hello"}} 时,我希望控制台记录 hellonull,因为没有传递任何内容作为第二个参数。但它返回了 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com