Ответ 1
Ну, когда состояние активировано, шаблоны автоматически вставляются в ui-представление его шаблона родительских состояний.
Вы должны проверить, как вы определили свои состояния. И/или поделитесь с нами своими определениями состояний:)
У нас есть приложение Angular + Ionic, которое мы планируем запустить через Кордову, но имеющее проблему с производительностью, которую мы пытаемся отследить.
Что мы видим в вкладке "Инструменты разработчика Chrome", когда вы запускаете локально или встроенное приложение, следующее:
В качестве примера:
И строка 3167 (указана звездой) из источника angular.js:
append: function(element, node) {
var nodeType = element.nodeType;
if (nodeType !== NODE_TYPE_ELEMENT && nodeType !== NODE_TYPE_DOCUMENT_FRAGMENT) return;
node = new JQLite(node);
for (var i = 0, ii = node.length; i < ii; i++) {
var child = node[i];
element.appendChild(child); *
}
},
Я никогда не видел ничего подобного - мы проверили все основы (дубликаты script/css include и т.д.), отключили Ionic-кеширование и т.д.
Я собираю вещи на шпильках, чтобы увидеть, что может быть причиной этого, но надеясь, что кто-то еще это видел, и может предложить некоторые советы о том, где начать искать.
ОБНОВЛЕНИЕ
Дубликат CSS, по-видимому, связан с нашим файлом index.html, который загружает наше приложение Angular, которое было неправильно указано как состояние в конфигурации маршрутизатора UI.
Таким образом, проблема с корнями - это ложные/неожиданные приводы XHR для всех статических файлов в приложении (angular ui шаблоны, шаблоны директив).
Ну, когда состояние активировано, шаблоны автоматически вставляются в ui-представление его шаблона родительских состояний.
Вы должны проверить, как вы определили свои состояния. И/или поделитесь с нами своими определениями состояний:)
Способ обработки html-шаблонов - это кэшировать их во время компиляции с помощью gulp -ng-templates или grunt- angular -templates (в зависимости от того, какой вкус менеджера задач вам нравится в настоящее время).
Поскольку мы имеем дело с приложениями, контент должен быть более загруженным, а не ленивым (пока вы считаете их общий размер в МБ), тем самым сохраняя некоторую пропускную способность и улучшая общий пользовательский интерфейс. Кроме того, это может просто исправить вашу проблему.
Красота кэширования шаблонов во время компиляции заключается в том, что вам не нужно знать, откуда они идут (сервер или уровень кэширования), и поэтому вам не нужно менять какой-либо код.
P.S. Я понимаю, что мой ответ не исправит вашу актуальную проблему, но он может одновременно решить только две проблемы.