Имеет неприятную ошибку, из-за которой ui-sref
маршрутизатора UI создает неправильные ссылки для строк таблицы в сетке пользовательского интерфейса, начиная с 16-й строки.
У меня есть ui-grid
(v.4.6.3) который должен представлять список элементов.Каждый элемент может иметь ссылку на какую-либо сущность (например, компанию), а когда пользователь нажимает на эту ссылку, открывается информационное окно для этой сущности.Таблица в страницах, 15 элементов на странице.Backend отправляет эти данные на страницах, используя функции Page, предоставляемые Spring.
Следующие две функции вызываются из компонента Angular и подготавливают данные для ui-grid
, а результат присваивается grid-options.data
.
* 1010.*
tabView.viewNameInfo
- это другой компонент, отвечающий за страницу, который представляет информацию о связанной сущности.
Вот как выглядит ссылка в ячейке таблицы через Chrome> Inspect:
<a ng-show="true"
ui-sref="tabView.viewNameInfo({viewName: 'entity/company', id: '8'})" class="ng-binding"
href="#!/entity%2Fcompany//1/info">Some Company</a>
Проблема в том, что этот идентификатор (идет после // в атрибуте href).Параметры внутри ui-sref
верны - ссылка должна указывать на компанию с ID = 8, но ссылка в href
указывает на ID = 1, что неверно.Это появляется только для элементов, которые находятся либо на второй странице таблицы и далее, либо в 16-й строке и далее, если все элементы отображаются на одной странице.
Был бы признателен за помощь или, по крайней мере, вектор, гдепоиск.
UPD.Удалось найти обходной путь, добавив ng-if="visible"
к блоку ui-grid
в html.Когда таблица получает данные, переменная visible
равна false
, а когда данные получены, visible
устанавливается на true
.Таким образом, все ссылки в таблице верны на всех страницах.Однако это приводит к миганию таблицы при автоматическом обновлении, так что это только временное решение.