我必须在Angular 2应用程序中做一个变通方法并初始化jQuery datetimepicker(以后应该重新编写)。
当我将datetime值分配给变量时,它在Angular app中的任何其他位置都不可见。这是我的工作:
datetime: string;
setDT() {
jQuery(this.elementRef.nativeElement).find("#datetimepicker").datetimepicker({
onChangeDateTime: function(currentDateTime) {
this.datetime = currentDateTime;
console.log(this.datetime); // -> logs correct selected datetime, i.e. Fri Mar 11 2016 10:00:00 GMT+0200 (EET)
}
});
}
但如果我试图在其他地方找到this.datetime,那么它是未定义的:
save() {
console.log(this.datetime); // -> 'undefined'
}
如何在jQuery和Angular 2之间传递变量?
罗马
答案 0 :(得分:3)
您需要使用jquery代理来执行此操作:
setDT() {
jQuery(this.elementRef.nativeElement).find("#datetimepicker").datetimepicker({
onChangeDateTime: jQuery.proxy(function(currentDateTime) {
this.datetime = currentDateTime;
console.log(this.datetime); // -> logs correct selected datetime, i.e. Fri Mar 11 2016 10:00:00 GMT+0200 (EET)
}, this)
});
}
答案 1 :(得分:0)
显然,我能够通过
获得所需的价值public final static boolean isValidEmail(CharSequence target) {
return !TextUtils.isEmpty(target) && android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
}
但出于教育原因仍然很乐意接受答案。
再次感谢!