Элементы переупорядочения Angular DOM в QueryList
У меня есть QueryList объектов. Мне нужно переупорядочить элемент DOM в зависимости от взаимодействия с пользователем:
@ViewChildren('mytemplate') temp: QueryList<MyObjects>;
In ngAfterViewInit :
let arr = this.temp.toArray();
// sort the arr here (it gets sorted correctly)
this.temp.reset(arr) // sorts the temp but DOM elements stays in the same order
QueryList отсортирован, но порядок, на мой взгляд, остается прежним. Мне также нужно изменить порядок просмотра. Есть идеи, как я могу динамически сортировать представление на основе QueryList?
Скажем, у меня есть
<temp #mytemplate *ngFor="let n of nums">
это порождает
<temp user1>
<temp user2>
<temp user3>
В моем компоненте я сортирую QueryList, и теперь я хочу, чтобы представление делало то же самое и показывало
<temp user2>
<temp user3>
<temp user1>
1 ответ
Что-то обычно не так, если мы чувствуем необходимость напрямую изменить DOM. В Angular мы строим HTML из нашей модели. Так что в этом случае вам просто нужно изменить порядок своей модели.
nums = [ 1, 2, 3 ];
sort() {
this.nums = [ 2, 3, 1 ];
}
Очевидно, что это очень абстрактный ответ на ваш очень абстрактный вопрос.