私は、メテオブレイズとブートストラップ3を使用して、マウスオーバー時にツールチップで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"は空白ではなく、#各ブロックの後半で正常に使用されます。 「getSocialMediaIconTooltip」は呼び出されず、ツールチップは表示されません。私はこの引数を、他の場所で構文を渡して使用しました。私は間違って何をしていますか?
時には、他の人があなたにコードをより近くに見せるように提案することがあります。私はtry/catchでハンドラをラップし、 'smsData'は未定義です。間違っています.6行目、10行目、12行目で 'smsdata'にする必要があります。また、findOne(5行目)のキー名は' service'ではなく 'subname'です。作品は魅力のように今、おかげで@アレックスプロダクト。いくつかの日私はちょうど愚かに感じる。 –