AngularJS приложение быстрее, пройдя несколько просмотров, и не останавливается при нажатии для просмотра - PullRequest
0 голосов
/ 25 февраля 2019

Мне трудно понять, почему мое приложение AngularJS работает по-разному после просмотра одной или нескольких страниц.

Что происходит в первой команде, когда я развертываю свой веб-сайт, очищаю кэш и затем идуна странице страница реагирует немного «медленно» в том смысле, что при нажатии на открытие новой страницы ничего не происходит, а затем через секунду или две отображается страница.

Этого не происходитпосле того, как я посещаю затронутые страницы, а затем повторите попытку.Тогда это гораздо более гладко.То же самое, если я захожу на веб-сайт на следующий день.

Что я могу сделать, чтобы предотвратить такое поведение?

Я использую угловой ui-router, $ state.go и последнюю версию AngularJS.

1 Ответ

0 голосов
/ 12 марта 2019

Это, кажется, дает частичный ответ.Немного протестировав, если вы добавите это в свой app.js, он предварительно загрузит все шаблоны:

angular
.module('app')
.run(['$state', '$templateCache', '$http',
    function ($state, $templateCache, $http) {
        angular.forEach($state.get(), function (state, key) {
            if (state.templateUrl !== undefined && state.preload !== false) {
                $http.get(state.templateUrl, {cache: $templateCache});
            }
        });
    }
]);

Ответ основан на ответе на аналогичный вопрос: https://stackoverflow.com/a/35036896/4262057

...