如何在流星js中为对象添加方法

How to add method to objects in meteor js?

本文关键字:对象 添加 方法 js 流星      更新时间:2024-01-02

如何将新方法附加到metrojs中的集合对象?

user = Meteor.user()
user.newMethod() // how/where do I attach this function?

问题是Meteor.user()返回类似Meteor.findOne({_id: Meteor.userId()});的结果,因此您必须重新定义整个方法,因为没有原型对象。

客户端js、服务器js或两者兼有:

Meteor.startup(function() {
    Meteor.user = function() {
       var user = Meteor.users.findOne({_id: Meteor.userId()});
       if(!user) return null;
       _.extend(user, {   // Lodash method https://lodash.com/docs/4.17.4#assign
           newMethod: function() {
              //Do something
           },
           newMethod1: function() {
              //Do something
           }
       });
       return user;
   }
});

您可以简单地执行以下操作:

user = Meteor.user();
user.newMethod = function () {
  // Do something
};

稍后在上

user.newMethod();