本文介绍了Meteor,如何从另一个助手访问助手?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个这样的帮手

Template.user_profile.helpers({
  user:function() {
     return Meteor.users.find({'profile.front_name':Session.get('slug')}).fetch()[0];
  }
});

我想向集合中添加一个助手,它可以访问 user 助手并将其 _id 与当前用户 _id 进行比较,以判断用户是否正在访问自己的个人资料.我正在使用一些非常难看的东西:

I want to add a helper to the collection which could access the user helper and compare its _id with the current user _id, to tell whether the user is visiting its own profile.I'm using something pretty ugly:

Template.user_profile._tmpl_data.helpers.user()

最终代码:

Template.user_profile.helpers({
  user:function() {
     return Meteor.users.find({'profile.front_name':Session.get('userId')}).fetch()[0];
  },
  isCurrentUser: function() {
    return Template.user_profile._tmpl_data.helpers.user()._id === Meteor.userId();
  }
});

有没有更好的方法来访问另一个助手?

Is there any better way to access another helper?

推荐答案

我刚刚在控制台中偶然发现了这个:

I've just accidentally discovered this in the console:

Template.registerHelper
function (name, func) {
  Blaze._globalHelpers[name] = func;
}

所以,Blaze._globalHelpers 就是我们要找的!

So, Blaze._globalHelpers is what we are looking for!

这篇关于Meteor,如何从另一个助手访问助手?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-17 02:03