我有带有构造函数和验证方法的es6类。
class Popups {
constructor(selector) {
this.app = selector;
}
validate() {
$.validator.addMethod('atLeastOneLowercaseLetter', (value, element) => {
return this.optional(element) || /[a-z]+/.test(value);
// how to replace `this` ??
},
'Must have at least one lowercase letter'
);
}
}
我的this
是指我的课程,但我需要$.validator
我的验证表单。我该如何替换它?
如果我写$.validator.optional(element) || /[a-z]+/.test(value)
,我会得到错误$.validator.optional is not a function
在这种情况下,不要使用箭头函数,因为它没有自己的this
。请改用普通函数表达式作为回调。