angular2中回调函数如何调用父函数?
How to call parent function from callback function in angular 2?
这是一个class
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。
提前致谢。
使用箭头函数,捕获 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);
}
}
有时您无法使用箭头函数,f.e。当它是内置函数或库函数时。在这种情况下,您可以使用的解决方案是将 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);
}
这是一个class
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。
提前致谢。
使用箭头函数,捕获 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);
}
}
有时您无法使用箭头函数,f.e。当它是内置函数或库函数时。在这种情况下,您可以使用的解决方案是将 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);
}