javascript - 如何向 meteor js中的对象添加方法?

标签 javascript meteor

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

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

最佳答案

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

客户端 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;
   }
});

关于javascript - 如何向 meteor js中的对象添加方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20297222/

相关文章:

meteor - 如何在 meteor iron-router 中向 URL 添加哈希?

javascript - 名为 Powers 的 JS 任务的解决方案 - 函数和数组

javascript - 将事件处理程序附加到每个 li

javascript - 将 Google Charts API 与 PHP 来源的值一起使用

javascript - meteor 按钮上的切换图标

javascript - x-editable-bootstrap select2 标签 - 加载指示器永远旋转

javascript - 使用 JavaScript 在我的 html 页面中放大图像

javascript - 暂停和恢复过渡

meteor - 使用 Modulus 从 Meteor 访问客户端的 IP 地址(不是负载均衡器的)

ssl - 如何使用 mup 在一个 digitalocean 液滴上正确部署带有 SSL 的多个 meteor 实例?