meteor - # meteor 中带有火焰的数组中的每个字符串

标签 meteor meteor-blaze

我有一个用户名数组,我在一个列表中呈现,如下所示:

{{#each contacts}}
<div class="name">{{this}}</div>
{{/each}}

这工作得很好,但后来我尝试从事件中获取用户名:
'click .name': function(e,t){
console.log(this)
}

我得到这个令人沮丧的对象 String {0: "c", 1: "h", 2: "a", 3: "r", 4: "l", 5: "i", 6: "e", length: 7, [[PrimitiveValue]]: "charlie"}这使得进行字符串比较变得非常具有挑战性。任何想法为什么这甚至是一个问题或如何处理它?

最佳答案

通常在 Javascript 中,上下文必须是一个对象而不是一个原始类型 ( link )。大概,contacts只是一个字符串数组,因此在每个 div 标签中,这些字符串被装箱(即转换为引用类型,在本例中为 String 对象)。这就是您在此处记录的内容 - String 对象,而不是您的原始原语。

您有两个选择:

  • 如果您使用 this.valueOf()它会给你原始字符串。
  • 或者,考虑将contacts 设置为一组对象(如[{value: 'nameOne'}, ... ])。这样,您可以替换 {{this}}{{value}}this在您的事件处理程序中,将以您提供的相同格式返回对象。
  • 关于meteor - # meteor 中带有火焰的数组中的每个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26147697/

    相关文章:

    javascript - 当 meteor 中的数据发生变化时,使引导日历呈现

    javascript - ADMIN LTE 通知下拉菜单不包含内容

    javascript - Meteor - 我有错误,无法调试它

    mongodb - meteor 蒙戈 : Untrusted code may only update documents by ID. [403]

    amazon-ec2 - 如何控制 Meteor 运行的位置

    mysql - 我们可以将 Meteor 框架与 mysql 数据库一起使用吗

    meteor 火焰 HTML : conditional templates inside each loop

    ubuntu - meteorjs - 从 Windows 到 ubuntu 13.10

    javascript - 比较空格键 {{#if}} block 中的模板助手值

    meteor - 如何将 Meteor 与 Jade、Flow Router 和 Blaze 结合使用?