Я новичок в Vue. Я все еще учусь и S.O. Сообщество действительно ускорило это.
Я начал создавать более сложные компоненты после выяснения некоторых базовых основ и некоторых более сложных вещей (например, передача данных от дочерних элементов через несколько вложенных компонентов, что невозможно сделать с помощью v-модели).
Я столкнулся с ошибкой. Это происходит в 2 случаях, но я не понимаю, почему. Инспектор Vue показывает, что данные обновляются динамически. Шаблон и / или вычисленное значение просто не обновляются, и я не могу понять, почему.
Я потратил два часа, пытаясь сократить это до меньшего MWE, но я не могу воспроизвести ошибку без меньшей сложности (я думаю, что это связано с неприглядными компонентами Vue, которые зависят от данных, передаваемых через более чем 1 компонент) .
** М.В.Э. **
Поскольку есть несколько компонентов, я предоставляю MWE через Code Sandbox:
https://codesandbox.io/s/mqoy658v9x
где видно, что это довольно простая таблица
Описание компонентов
- DataTable: основной компонент для рендеринга таблицы.
- DataTableCaptionSort: показывает список сортировки данных
- DataTableCell: ячейка в таблице
- DataTableFilter: фильтр ...
- DataTableHeader: сопоставление компонентов по полям
- DataTableHeaderCell: ячейка заголовка - рядом с ней должен отображаться значок, если отсортирован
- DataTableRow: сопоставление компонентов по полям для каждой записи
Компонент DataTable ожидает объект, который напоминает базу данных, то есть каждый ключ является идентификатором записи, а его значение является записью.
Каждая запись - это объект, ключами которого являются поля данных.
** Жук **
Ошибка, как указано в заголовке, заключается в том, что два из вышеупомянутых компонентов содержат данные, которые динамически корректно изменяются, а шаблоны или вычисленные значения - нет.
Проблемными компонентами являются DataTableHeaderCell и DataTableCaptionSort.
Как видно, нажатие на заголовок переключает сортировку (через цикл возрастания, убывания, а не сортировки). В зависимости от отсортированного значения в ячейке заголовка должна отображаться стрелка вверх или стрелка вниз. Аналогично, заголовок должен представлять собой список, показывающий порядок сортировки, например, х (вверх) у (вниз)
Ни то, ни другое.
Может кто-нибудь помочь мне разобраться, что я делаю не так?