тег ввода не работает должным образом с Angular 5

#angular #angular5

#angular #angular5

Вопрос:

Я пытался реализовать функцию в angular 5 и столкнулся с проблемой, заключающейся в том, что входной тег не работает должным образом.

Вот ссылка на код: stackblitz

Было бы здорово, если бы кто-нибудь мог сказать мне, есть ли что-то, что я сделал здесь неправильно, или это просто какая-то проблема с версией angular. Потому что тот же код отлично работает с angular 10.

Комментарии:

1. Что вы пытаетесь сделать?

2. Извините, Дикша, мой ответ может помочь вам с angular 6 . Я удалил его. Я попытаюсь найти решение.

3. @StPaulis У меня есть объект, и я должен отображать данные в таком формате. Здесь я использовал некоторые фиктивные данные, и аналогично, я должен отображать теги ввода и принимать вводимые пользователем данные, но если вы видите теги ввода, вы не сможете ввести их туда.

4. @AshotAleqsanyan хорошо. Нет проблем.

5. @DikshaGoyal вот мой ответ, возможно, это поможет вам найти другой обходной путь, прежде чем найти решение: Проблема в том, что ваш канал keyvalue каждый раз возвращает новую ссылку на массив, поэтому angular каждый раз будет повторно отображать все элементы ngFor. Вы можете исправить это, добавив trackBy в свой ngFor. Он будет проверен перед повторным отображением элемента. и будет отображать только те элементы, которые нуждаются в повторном отображении.

Ответ №1:

Проблема в том, что ваш keyvalue канал каждый раз возвращает новую ссылку на массив, поэтому angular каждый раз будет повторно отображать все ngFor элементы. Вы можете исправить это, добавив trackBy на свой ngFor . Он будет проверен перед повторным отображением элемента. и будет отображать только те элементы, которые нуждаются в повторном отображении.

Вот рабочий пример:

Примечание: существует один пример обходного пути для angular меньше 6 и решение для angular 6

https://stackblitz.com/edit/angular-5-tutorial-p4uywe?file=app/app.component.html