另一种不用lodash调用方法的方法
Another way to call method without lodash?
在我的流星应用程序中,这个带有方法调用的投票功能工作正常,直到我包含一个将lodash导出为var _ = runInContext();
的兼容性脚本。现在我得到错误,_.contains
不是一个函数。
有没有另一种方法来运行这个函数和调用没有_.contains
?
打开按钮:
"click [data-action='addLikes']": function (event) {
event.preventDefault();
var song = Songs.findOne({_id: this._id});
upvote(song);
}
服务器方法:upvote = function(currentSong){
var user = Meteor.user();
if(!user){
return false;
}
if (currentSong) {
if (_.contains(currentSong.voters, Meteor.userId())) {
return false;
}
Songs.update(currentSong._id, {$addToSet: {voters: Meteor.userId()}, $inc: {likes: 1}});
}
};
如果currentSong.voters
只是一个数组,您可以使用两种解决方案:
ES6 :
currentSong.voters.includes(Meteor.userId())
ES5 :
currentSong.voters.indexOf(Meteor.userId()) > -1
或简写的
~currentSong.voters.indexOf(Meteor.userId())
相关文章:
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- javascript从子方法调用父方法
- 我应该返回一个类似console.log()的方法调用吗
- NodeJS-从同一文件中的另一个方法调用一个方法
- 使用restangular save方法调用put与post时的控件
- 从实例方法调用实例方法
- Node.js-异步方法调用问题
- Jquery事件绑定获胜'当作为方法调用时不起作用,但当直接在控制台中调用时会起作用
- 向模板实例变量传递调用方法调用的结果时出现异常
- jQuery 方法调用了两次
- 不能从 Backbone.View 的方法调用 Backbone.collection 的方法,其中包含 require
- 组合 onLayout 的方法调用
- lodash/下划线 - 使用绑定与方法调用和方法保持未绑定
- 从公共方法调用模块的私有函数
- 如何对 jqGrid 的 loadComplete 和 onSelectRow 进行基因预和后方法调用
- 完全限定的 JavaScript 方法调用
- 为什么我在 Angular JS 中收到两个方法调用
- 如何在从排序方法调用参数时将其传递给回调
- 使用两种不同的方法调用方法
- 如何在 javascript 中更改方法调用的全局范围