我有一个错误
未定义不是对象(评估'this.email ='123''(
为什么会发生这种情况?
控制器中的离子2代码:
email:string = '' ;
facebook_login() {
this.fb.login(['public_profile', 'email'])
.then((res: FacebookLoginResponse) => {
this.fb.api("/me?fields=name,email", []).then(function(user) {
this.email = '123' ;
}) ;
}).catch(e => {
alert('Error login') ;
});
}
使用箭头函数作为回调() => {}
。
this
将指向函数对象,而不是示例中的类。
this.fb.api("/me?fields=name,email", []).then(function(user) {
this.email = '123' ;
}) ;
将上述更改为:
this.fb.api("/me?fields=name,email", []).then((user) => {
this.email = '123' ;
}) ;