【发布时间】:2015-04-21 05:16:32
【问题描述】:
所以我目前正在构建一个聊天应用程序,我需要将一个动态类绑定到消息以定义它是发件人消息还是收件人。但是,我不确定如何使用当前代码将此类绑定到元素:
消息模板
<ul class="content conversation" id="conversation">
{{#each message in messages}}
<li>
{{messageHighlight currentUser.id message.sender_id}}
<div class="avatar">
<img {{bind-attr src="message.thumb"}} />
</div>
<div class="chat-message">
<p>{{message.text}}</p>
<time>
{{message.sender.username}} • {{message.created_at}}
</time>
</div>
</li>
{{/each}}
</ul>
高亮助手
Ember.Handlebars.helper('messageHighlight', function(currentUserId, senderId)
{
return (senderId == currentUserId) ? 'self' : 'other'
});
我尝试如下定义我的类,但 Handlebars 抛出错误:
<li class="{{messageHighlight currentUser.id message.sender_id}}">
所以我的问题是,如何在传递参数时将动态类绑定到属性?
提前致谢。
【问题讨论】:
-
你尝试
<li class="{{messageHighlight currentUser.id message.sender_id}}">时的错误是什么 -
感谢您的回复,错误信息如下:
Uncaught Error: Assertion Failed: An error occured while setting up template bindings. Please check for invalid markup or bindings within HTML comments. -
查看 jsbin emberjs.jsbin.com/jogufa/2/edit
-
还有你使用的是什么版本的 ember。您需要使用 Ember 1.11.0 或更高版本才能使用绑定属性而不使用
bind-attr -
@kiwiupover 刚刚尝试了示例中包含的内容,它提供了相同的错误,我什至尝试了
<li class='{{messageHighlight 1 1}}'>。我正在使用 Ember 1.9.1...这可能就是为什么...
标签: ember.js ember-data handlebars.js