Angular: проблема с обновлением свойств в представлении через запрос http - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь удалить элемент из свойства (массив this.userNouns) через HTTP-запрос на удаление к бэкэнду, а затем повторно объявляет этот массив (который был в представлении), чтобы удаленный элемент исчезал. После этого я запускаю функцию toggleData () в этой функции удаления, чтобы обновить некоторые интерполированные строки в другом месте представления. Элемент исчезнет из бэкэнда, и представление отобразит sh, чтобы показать, что оно пропало ... но интерполированные строки не будут обновляться в представлении (что обычно происходит при вызове toggleData ()). Он будет отображаться точно только после обновления страницы. Когда я смотрю на this.userNouns в журнале консоли в нижней части функции, я вижу удаленный элемент, который все еще там, а также присутствует, когда он проходит через toggleData (). Короче говоря, я хочу, чтобы этот элемент исчез из серверной части, а запрос get, следующий за запросом на удаление, собирал самую актуальную информацию. Любое руководство будет очень цениться.

Stackblitz: https://stackblitz.com/edit/github-krcuye-iwdbju

delete(idNum){this.http.delete(`http://localhost:8000/nouns/${idNum}`).pipe(concatMap(user => this.http.get(`http://localhost:8000/nouns/${this.user[0].id}`)), tap(result => this.userNounsHolder = result)).subscribe( this.userNouns = this.userNounsHolder.map(noun => noun.content) ) // console.log('usernouns',this.userNouns, this.allNouns) this.toggleData('nouns') }

...