这是一个班级
export class ChatDetailPage {
constructor(){
}
funcA(){
var options = {
onSubmit: function (text) {
//i want to be able to access funcB from here
this.funcB(text)
},
this.nativeKeyboard.showMessenger(options)
}
funcB(text){
alert (text);
}
}
在这种情况下,如何从Anular 2或Ionic 3中的onsubmit回调函数调用funcB。
提前致谢。
答案 0 :(得分:5)
使用箭头函数,该函数捕获this
:
export class ChatDetailPage {
constructor(){
}
funcA(){
var options = {
onSubmit: text => {
//i want to be able to access funcB from here
this.funcB(text)
},
};
this.nativeKeyboard.showMessenger(options)
}
funcB(text){
alert (text);
}
}
答案 1 :(得分:2)
有时您将无法使用箭头功能,例如。当它是内置或库函数时。在这种情况下,您可以使用的解决方案是将this
变量绑定到名为self
的变量或任何您想要的变量。
funcA(){
// bind the this variable to 'self' outside of the function scope
var self = this;
var options = {
onSubmit: function (text) {
// and use self instead of this
self.funcB(text)
},
this.nativeKeyboard.showMessenger(options)
}
funcB(text){
alert (text);
}