我想知道是否有更好的方法來定義回調函數的角2觀察到與HTTP打交道時認購調用不違反當談到嵌入式邏輯女巫導致一個醜陋的髒碼。角2層觀察到的認購箭頭的功能越來越大,髒
我想使用函數變量而不是箭頭函數來分開回調邏輯,但我不能訪問this
和本地函數變量(示例中的state
)。
updateState(state: string) {
let proposition = new Proposition();
proposition.id = this.id;
proposition.state = state;
this.propositionService.updateProposition(proposition).subscribe(
(data) => {
....
// instruction using local variable
this.router.navigate(['/portfolio', state]);
....
},
.....
// instrution using this
(errors) => this.toastr.warning('Error.', 'ops !');
.....}
我真的不明白你在這裏做什麼。你想在訂閱中去其他路線嗎?你想在router.navigate之前定義動作?你能澄清一下嗎? – ZanattMan
其實「=>」有你當前的組件,但是當你使用函數變量時,那麼你的組件有這個新的東西所以你不能得到你的局部變量(data)=>這是Angular 2的承諾,所以你必須使用lemda表達式。 –
@ ER.SHASHITIWARI我已經經歷過,我在問如何找到一個好的替代品 – user2080105