【发布时间】:2014-12-09 17:20:55
【问题描述】:
我有类似的html:
<template name="chargers">
{{#each list}}
{{> charger}}
{{/each}}
</template>
<template name="charger">
<p>
{{full_name}}
</p>
</template>
有一个名为Chargers 的流星集合,chargers 模板可以很好地迭代它。但是,该集合上没有 full_name 属性。这是通过连接name 属性和address.country 属性来计算的。
在我看来,一些咖啡脚本如下:
Template.charger.full_name = ->
console.log "full name of #{self} is #{name}"
# return name
if address.country.length() > 0
return "#{name}, #{address.country}"
else
return name
可以,但函数第一行中回显的self 是Window。我认为上下文将呈现Charger 对象。奇怪的是,如果我取消注释 #return name,整个事情都有效(但没有国家)。我已从控制台窗口验证数据存在于集合中。
对集合使用变换似乎只是为了添加伪属性。
我尝试将其定义为助手,但同样的事情发生了。正确的做法是什么。
【问题讨论】:
标签: javascript templates meteor