我使用Meteor Blaze和Bootstrap 3在mouseover上顯示一個帶有工具提示的img。它工作正常使用靜態提示文本:如何根據Meteor Blaze和Bootstrap的數據做不同的工具提示?
<img class="socialMediaIcon" src={{iconPath}} data-toggle="tooltip"
data-placement="right" title={{tooltip}} />
,但我想動態改變取決於採集文檔字段的值的提示。
我創建了一個模板幫助產生所需的文本:
Template.SocialMedia.helpers({
getSocialMediaIconTooltip: function(service) {
console.log(">>>>>> Tooltip service =", service);
var smsdata = socialMediaSystem.findOne({service: service});
if (!smsdata.active)
return smsData.tooltip;
else {
var smudata = socialMediaUser.findOne({accountId: Meteor.user()._id, service: service});
if (smudata)
return "Disconnect " + smsData.tooltip;
else
return "Connect " + smsData.tooltip;
}
},
,我與調用它:
<img class="socialMediaIcon" src={{iconPath}} data-toggle="tooltip"
data-placement="right" title={{getSocialMediaIconTooltip name}} />
,其中「名」是打開的文檔中的字段(代碼在{{#each}}循環中)。 「name」非空白,稍後在#each塊中成功使用。 「getSocialMediaIconTooltip」永遠不會被調用,也不會出現工具提示。我在其他工作的地方使用了這個參數傳遞語法。我究竟做錯了什麼?
有時候只需要其他人提出一個建議,讓您看起來更接近代碼。我在try/catch中封裝了處理程序,'smsData'未定義。拼錯了,應該是第6,10和12行中的'smsdata'。另外,在findOne(第5行)中,鍵名是'subname',而不是'service'。現在工作就像一個魅力,謝謝@亞歷克斯的產品。有些日子,我只是覺得很蠢。 –