如何在meteorjs中将新方法附加到集合对象?
user = Meteor.user()
user.newMethod() // how/where do I attach this function?
答案 0 :(得分:2)
事情是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;
}
});
答案 1 :(得分:0)
你可以这样做:
user = Meteor.user();
user.newMethod = function () {
// Do something
};
以及稍后
user.newMethod();