Angular JS Base Href, загружающий страницу во второй раз, не работает

У меня очень странная проблема с приложением AngularJS. Я динамически пытаюсь применить базовый тег href только к определенным маршрутам с целью динамической загрузки файлов JS внутри этих шаблонов маршрутов. По этой причине я придумал решение.

КОНТРОЛЛЕР

$scope.baseHrefDynamic = 'test/' + $rootScope.testActive + '/';
$ocLazyLoad.load('test/' + $rootScope.testActive + '/c2runtime.js');

Здесь мне нужно, чтобы файл c2runtime.js загружался из места за пределами приложения, поэтому я использовал OCLAZYLOAD для его загрузки после динамической установки базового href. Это связано с тем, что в файле c2runtime.js есть файл data.js, который загружается только динамически и загружается на основе абсолютного пути проекта. В моем HTML у меня есть следующая разметка

HTML

<html>
<base href="{{baseHrefDynamic}}">
<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

Актуальная проблема

Проблема, с которой я столкнулся, заключается в том, что маршрут после загрузки шаблона впервые идеально устанавливает базовый href, data.js внутри c2runtime.js загружается идеально на основе базового пути href. Однако, когда я нажимаю кнопку «Назад» и снова нажимаю ссылку маршрута, базовый адрес не устанавливается. (Data.js c2runtime.js загружается из абсолютного пути проекта, а не из базового href). Что тут может быть не так?

Базовый href отлично работает при первом изменении маршрута, но не работает, когда я возвращаюсь и снова иду по тому же маршруту.


person Yaseen Hussain    schedule 24.12.2019    source источник


Ответы (1)


мы можем использовать локальное хранилище вместо $rootScope для заданного элемента

localStorage.setItem('testActive', 'testUrl');

когда вы вызываете baseHrefDynamic перед получением значения из локального хранилища.

let value=localStorage.getItem('testActive');
$scope.baseHrefDynamic = 'test/' + value + '/';
$ocLazyLoad.load('test/' + value + '/c2runtime.js');
person mehta Pratik    schedule 24.12.2019