【发布时间】:2017-08-11 08:10:00
【问题描述】:
var process_request_rule = [
{
"name": "rule-name",
"condition": Meteor.bindEnvironment(function (R) {
R.when(this.request.type == 'some-type');
})
}];
在上面的代码中,this.request 变得未定义,因为 this 指向 Meteor 对象而不是函数对象。研究后知道使用箭头函数可能会解决问题。尝试使用它,如下所示。
var process_request_rule = [
{
"name": "rule-name",
"condition": Meteor.bindEnvironment((R) => {
R.when(this.request.type == 'some-type');
})
}];
还是不行,请帮我绑定this对象
【问题讨论】:
-
如果您使用的是
Meteor.bindEnvironment,您希望在函数的this中出现什么? -
this指的是当前正在执行的规则的事实。 PS:在 Meteor 应用程序中使用 npm node-rules 参考节点规则:npmjs.com/package/node-rules
标签: javascript meteor rule-engine