【发布时间】:2019-12-24 07:29:43
【问题描述】:
我对 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,c2runtime.js中的data.js基于基本href路径完美加载。但是,当我按下后退按钮并再次单击路由链接时,未设置基本 href。 (c2runtime.js 的 data.js 从项目绝对路径加载,而不是从基础 href 加载)。 这里可能有什么问题?
基本 href 在第一次路线更改时完美运行,但当我返回并再次来到同一路线时不起作用。
【问题讨论】:
标签: javascript html angularjs construct-2