J'utilise ng2-smart-table dans mon composant.Angular 4, 'this' est indéfini lors de l'utilisation de la fonction callback 'onComponentInitFunction' de la table ng2-smart
Je suis en train d'invoquer la méthode de composant parent approveTheOrder() mais je suis incapable d'obtenir l'objet de la classe parente
est Ci-dessous l'extrait
{
title: "Actions",
type: "custom",
renderComponent: ActionRenderComponent,
onComponentInitFunction(instance) {
instance.actionEmitter.subscribe(row => {
if(row == CONSTANT.STATUS_APPROVE){
//here 'row' value is from childComponent-ActionRenderComponent,which I am able to get easily in parentComponet
this.approveTheOrder(instance.rowData.id); // here this is undefined,
}
if(row == CONSTANT.STATUS_REJECT){
this.rejectOrder();//this is undefined
}
if(row == CONSTANT.STATUS_PENDING){
this.pendingOrder(); // this is undefined
}
});
},
filter: false
};
Est-ce que quelqu'un a une idée comment obtenir le 'ceci' dans le ci-dessous onComponentInitFunction()?
Voici l'image de l'erreur que je reçois. J'ai également essayé d'utiliser la fonction 'bind' n'a pas réussi à atteindre l'objectif, Quelqu'un peut-il me guider s'il vous plaît ici, je suis vraiment bloqué à ce stade.
EDIT 1 Notez que je suis en mesure d'obtenir l'événement de ChildComponent dans le ParentComponent, mais le problème est ici spécifique au composant NG2-table intelligente.
Pour obtenir la valeur de ChildComponent, je suis en train d'utiliser en construction fonction de rappel onComponentInitFunction (instance) du composant NG2-table intelligente
@Yurzui - Oui, votre solution donnée a fonctionné pour moi. N'hésitez pas à répondre à la question afin que personne d'autre ne reste coincé avec ce problème –
@ Z.Bagley - Ce problème est spécifique à ng-smart-table, je suis en mesure de récupérer la valeur de la ChildComponent dans le constructeur du ParentComponent. Mais le problème est dans la fonction onComponentInitFunction(). –
Excuses, mal compris et enlevé. –