Twitter bootstrap 3 如何使用Meteor Blaze和Bootstrap根据数据进行不同的工具提示?

Twitter bootstrap 3 如何使用Meteor Blaze和Bootstrap根据数据进行不同的工具提示?,twitter-bootstrap-3,tooltip,meteor-blaze,Twitter Bootstrap 3,Tooltip,Meteor Blaze,我使用Meteor Blaze和Bootstrap 3在鼠标上方显示带有工具提示的img。它适用于静态工具提示文本: <img class="socialMediaIcon" src={{iconPath}} data-toggle="tooltip" data-placement="right" title={{tooltip}} /> 我称之为: <img class="socialMediaIcon" src={{iconPath}} data-toggle=

我使用Meteor Blaze和Bootstrap 3在鼠标上方显示带有工具提示的img。它适用于静态工具提示文本:

<img class="socialMediaIcon" src={{iconPath}} data-toggle="tooltip"
     data-placement="right" title={{tooltip}} />
我称之为:

<img class="socialMediaIcon" src={{iconPath}} data-toggle="tooltip"
     data-placement="right" title={{getSocialMediaIconTooltip name}} />


其中“name”是打开文档中的一个字段(代码位于{{{each}}循环中)。“name”非空,稍后在#each块中成功使用。“GetSocialMediaIContolTip”永远不会被调用,也不会出现工具提示。我在其他地方使用过这个参数传递语法。我做错了什么?

助手可能会抛出错误,在Blaze模板中,这意味着空白输出(即没有工具提示)。检查浏览器控制台中的错误消息


您的助手同时引用
smsdata
smsdata
。这是正确的,还是smsData是无效的引用?

关于我的拼写错误,请参见上面的评论。更正后的代码供参考:

Template.SocialMedia.helpers({
  getSocialMediaIconTooltip: function(service) {
  try {
    const smsdata = socialMediaSystem.findOne({subname: service});
    if (smsdata.active == false)
      return smsdata.tooltip;
    else {
      const smudata = socialMediaUser.findOne({accountId: Meteor.user()._id, service: service});
      if (smudata)
        return "Disconnect " + smsdata.tooltip;
      else
        return "Connect " + smsdata.tooltip;
    }
  } catch(ex) {
    console.error(ex);
  }
  },

有时,只需要其他人提出建议,就可以让您更仔细地查看代码。我将处理程序包装在try/catch中,
smsData
未定义。拼写错误,应在第6、10和12行中为
smsdata
。此外,在findOne(第5行)中,键名是
子名称
,而不是
服务
。现在很有魅力,谢谢@Alex的刺激。有时候我觉得自己很愚蠢。
Template.SocialMedia.helpers({
  getSocialMediaIconTooltip: function(service) {
  try {
    const smsdata = socialMediaSystem.findOne({subname: service});
    if (smsdata.active == false)
      return smsdata.tooltip;
    else {
      const smudata = socialMediaUser.findOne({accountId: Meteor.user()._id, service: service});
      if (smudata)
        return "Disconnect " + smsdata.tooltip;
      else
        return "Connect " + smsdata.tooltip;
    }
  } catch(ex) {
    console.error(ex);
  }
  },