我的角度路由器中有以下代码片段:
staticContent = xmlDoc.getElementsByTagName("staticContent")[0].childNodes[0].nodeValue;
$stateProvider
.state('home', {
url: "/Home",
views: {
"main-view": {
//templateUrl: "../../../views/Home.htm", --Case 1
templateUrl: staticContent+"/Home.htm", --Case 2
controller: "homeCtrl"
}
}
})
最初,我尝试了案例1的上述代码,它运行正常。问题是我需要避免使用硬编码路径,因为我的HTM文件将位于单独的服务器上。
但是,当我使用案例2中的代码时,应用程序根本不加载。 变量 staticContent 设置为“../../../ views”。从XML文件中读取此值(正确设置此值)。 如何避免路由器文件中的硬编码模板路径?
答案 0 :(得分:2)
您可以将常量注入配置块
angular.module('app', [])
.constant('STATIC_CONTENT', xmlDoc.getElementsByTagName("staticContent")[0].childNodes[0].nodeValue)
.config(function ($stateProvider, STATIC_CONTENT) {
$stateProvider
.state('home', {
url: "/Home",
views: {
"main-view": {
templateUrl: STATIC_CONTENT + "/Home.htm",
controller: "homeCtrl"
}
}
})
});