0

角度/ Typescriptでモーダルを閉じるかキャンセルすることで私の約束が返されたときに、別の関数を呼び出す際に問題が発生します。おそらく私は何か不可能なことをしようとしていますが、私が見たすべての例は、返されたデータをコンソールまたは変数に記録し直すか、アラートをスローします。そのような:モーフィング/角型 - モーダル結果の返信後に別の関数を呼び出す

modalInstance.result.then(function (result) { 
    console.log(result); 
}); 

私はその結果は以下のように、返された後別の関数を呼び出している行うために探しています:

modalInstance.result.then(function (result) { 
    console.log(result); 
    this.EditWidget(result); 
}); 

しかし、これは動作しませんし、私はできません理由を理解しているようだ。私はすべてを試してきました。私は、ここで約束がどう機能しているかについて何かを忘れていると思います。

アイデア?

+0

私が間違って何もあなたが投稿したコードが表示されません。あなたは何がエラーがそこにあると思いますか?その機能は約束の外で機能しますか?あなたは何をしているのかを示すコードをもっと提供できますか? –

答えて

1

私のゲスは、thisがあなたの期待通りではありません。あなたは、この値をキャプチャし、コールバックで撮影した値を使用する必要があります。

var that = this; 
modalInstance.result.then(function (result) { 
    console.log(result); 
    that.EditWidget(result); 
}); 

またはこれに機能的に結合する:

var callback = function (result) { 
    console.log(result); 
    this.EditWidget(result); 
}; 

modalInstance.result.then(callback.bind(this)); 
+0

Brilliant!本当にありがとう! – gibbypoo

関連する問題