Javascript Angular JS Base Href在第二次加载页面时不会';行不通

Javascript Angular JS Base Href在第二次加载页面时不会';行不通,javascript,html,angularjs,construct-2,Javascript,Html,Angularjs,Construct 2,我对AngularJS应用程序有一个非常奇怪的问题。 我正在动态地尝试将base href标记单独应用于特定路由,以便在这些路由模板中动态加载JS文件。 为此,我想出了一个解决办法 控制器 $scope.baseHrefDynamic = 'test/' + $rootScope.testActive + '/'; $ocLazyLoad.load('test/' + $rootScope.testActive + '/c2runtime.js'); 在这里,我需要从应用程序之外的位置加载c2

我对AngularJS应用程序有一个非常奇怪的问题。 我正在动态地尝试将base href标记单独应用于特定路由,以便在这些路由模板中动态加载JS文件。 为此,我想出了一个解决办法

控制器

$scope.baseHrefDynamic = 'test/' + $rootScope.testActive + '/';
$ocLazyLoad.load('test/' + $rootScope.testActive + '/c2runtime.js');
在这里,我需要从应用程序之外的位置加载c2runtime.js文件,因此我在动态设置基本href后使用了OCLAZYLOAD来加载它。这是因为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,c2runtime.js中的data.js完全基于基本href路径加载。但是,当我按下后退按钮并再次单击路由链接时,基本href未设置。(c2runtime.js的data.js从项目绝对路径而不是基本href加载)。 这里可能有什么问题


基本href在第一次路线更改时可以完美工作,但在我返回并再次返回同一路线时无法工作。

我们可以使用本地存储,而不是$rootScope来存储设置的项目

localStorage.setItem('testActive', 'testUrl');
在从本地存储获取值之前调用baseHrefDynamic时

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