【问题标题】:How to Display User Avatar With User's Name and Chat Message?如何使用用户名和聊天消息显示用户头像?
【发布时间】:2016-11-14 17:04:04
【问题描述】:

我正在处理即时消息任务。说明是:“调整模板和辅助函数,以便消息窗口在他们的消息旁边显示用户的头像。” stackoverflow 上有一些类似的问题,我试图实现答案,但没有一个对我有用。我有用户名,但头像只显示登录用户的头像。在这个例子中,user2头像应该显示user2消息。

模板

<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;
  },

【问题讨论】:

    标签: javascript meteor avatar


    【解决方案1】:

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

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

    看起来您已经有一个“getUserById”帮助器,它返回用户的用户 ID - 执行类似的操作来获取用户的头像

    【讨论】:

    • 我会说和上面一样。感谢您的回复并解释原因。它有很大帮助。正如我告诉其他评论者的那样,这是我进行任何类型编码的第一堂课。我惊呆了,我什至走到了这一步。感谢您抽出宝贵时间提供指导并提供良好的解释。
    【解决方案2】:

    问题是您使用的是Meteor.user() 的头像,这是当前登录用户而不是创建消息的用户。

    我看到您已经有一个名为 getUserById 的助手来让用户创建消息。在此基础上,您应该能够创建一个助手来获取正确的头像。

    【讨论】:

    • 感谢您的回复,您的评论很有道理。我会按照这个推理。我是一名设计师,而不是编码员,通常依赖于剪切和粘贴免费的代码和包,并不总是能像你在这里所做的那样推理这些东西。
    猜你喜欢
    • 2016-08-29
    • 2022-01-20
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 2018-08-12
    • 2018-07-07
    相关资源
    最近更新 更多