Javascript Angular JS Base Href在第二次加载页面时不会';行不通
我对AngularJS应用程序有一个非常奇怪的问题。 我正在动态地尝试将base href标记单独应用于特定路由,以便在这些路由模板中动态加载JS文件。 为此,我想出了一个解决办法 控制器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
$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');