目前我面临以下问题,希望有人可以帮助我:
我正在使用TypeScript开发一个aurelia-cli应用程序。在我看来,Aurelia验证不是那么好,而且太复杂了。所以我正在使用jQuery-Validation。
我有以下课程:
export class RegistrationForm{
@bindable errors: string[];
public attached(){
let validator = $("#registration-form").validate({
onfocusout: function (element) {
$(element).valid();
},
errorPlacement: function(error, element){
this.errors.push(error.text());
}
});
}
}
以及以下模板:
<template>
...
<ul if.bind="errors">
<li repeat.for="error of errors">
${error}
</li>
</ul>
...
</template>
我知道,带有this.errors.push(error.text())
的所述示例是错误的,因为在这一点上我无法访问类变量errors
。
现在我的问题是,是否有可能将error.text()
信息传输到类变量,以便文本在前端列出?
我的目标是,每次用户更改字段(onfocusout(时,都会验证相应的字段,并在页面顶部显示一条消息。显示器应使用金黄色绑定。
有没有人知道如何解决这个问题?
将function()
更改为箭头函数=>
,因为它们保留了声明它们的范围,因此this
引用类而不是函数。
export class RegistrationForm{
@bindable errors: string[];
public attached(){
let validator = $("#registration-form").validate({
onfocusout: (element) => {
$(element).valid();
},
errorPlacement: (error, element) => {
this.errors.push(error.text());
}
});
}
}