【发布时间】:2014-01-08 05:35:46
【问题描述】:
我正在编写一个简单的餐厅菜单,我需要检查把手模板内的两个值是否相等。更具体地说,我有一堆 dish 模型,它们有一个 category_id 字段。所以我需要显示一个dish,如果它与我们现在所在的类别具有相同的category_id。
我有以下帮手:
Em.Handlebars.registerHelper 'ifEqual', (v1, v2) ->
# debugging
console.log v1, v2
return v1 == v2
我是这样使用的:
.categories
=hb 'each c in categories' do
%ul
%li=hb 'c.name'
=hb 'each d in dishes' do
%ul
=hb 'ifEqual d.category_id c.id' do
%li=hb 'd.name'
(对不起,hamlbars 和 coffeescript,但应该很清楚)
问题是console.log 输出字符串"d.category_id" 和"c.id",我不知道为什么会这样。
另一方面,非块帮助器工作得很好,并且输出实际值
Em.Handlebars.helper 'console-log', (v1, v2) ->
console.log typeof(v1), v1
console.log typeof(v2), v2
任何想法为什么它会以这种方式工作以及我做错了什么?
【问题讨论】:
标签: ember.js coffeescript haml