2016-11-14 150 views
0

我正在进行即时消息分配。说明如下:“调整模板和帮助功能,使消息传递窗口在用户消息旁边显示用户的头像。”在stackoverflow上有几个类似的问题,我试图实现答案,但没有为我工作。我有用户名,但头像仅显示登录用户的头像。在此示例中,用户2头像应显示user2消息。 display avatar如何使用用户名和聊天消息显示用户头像?

模板

<template name="chat_message"> 
<img src="/{{avatar}}" class="chat_img" /> 
    <span class="text">On {{timeStamp}}</span> <span class="text">{{getUserById sentBy}}</span> said: {{text}} 
    <br> 
    <br> 
</template> 

客户

Template.chat_message.helpers({ 
    avatar:function(){ 
    return Meteor.user().profile.avatar; 
    }, 

回答

0

Meteor.user()返回当前用户的用户记录。

你需要的是发送消息的用户的用户记录。

看起来你已经有一个“getUserById”助手返回用户的用户ID - 做类似的事情来获得用户的虚拟形象

+0

我会像上面那样说。感谢您的回复并解释推理。它有很大的帮助。正如我告诉其他评论者,这是我做任何类型编码的第一堂课。我惊呆了,我甚至做到了这一点。感谢您花时间给出一个很好的解释。 –

0

的问题是,你正在使用的Meteor.user()的化身,其是当前登录的用户而不是创建消息的用户。

我看到你已经有一个名为getUserById的助手来让用户创建消息。基于此,你应该能够创建一个帮手来获得正确的头像。

+0

感谢您的回复,您的评论非常有意义。我会遵循这种推理。我是一个设计师,而不是编码员,通常依靠剪切和粘贴免费的代码和包,而不是像以前那样总是能够推理这些东西。 –