我目前正在相对于当前窗口位置说明templateUrl。
cvApp.directive('personalDetails', function () {
return {
restrict: 'A',
templateUrl: '../../Scripts/app/templates/personalDetails.html'
};
});
如何相对于应用程序的根目录创建templateUrl?我正在寻找这样的东西:
templateUrl: '~/Scripts/app/templates/personalDetails.html'
AngularJS可以做到这一点吗?
答案 0 :(得分:80)
看起来支持它。取自thread on AngularJS Google Group:
带有“/”前缀的网址是相对于域名的,而不是“/” 前缀它将相对于main(“index.html”)页面或基本URL (如果您在html5模式下使用位置)。
这很好用:
templateUrl: '/Scripts/app/templates/personalDetails.html'
答案 1 :(得分:15)
看起来你正在尝试使用ASP.NET风格的应用程序相对路径,但客户端。修复实际上是HTML:在头部添加一个基本标记,如下所示:
<base href="<%= Request.ApplicationPath %>" />
然后保持模板路径相对于此,如
templateUrl: 'Scripts/app/templates/personalDetails.html'
答案 2 :(得分:3)
使用&#39; ././脚本/ app / templates / personalDetails.html&#39;
它对我有用。
答案 3 :(得分:0)
angular 4使用webpack作为捆绑器。
./ means relative path to current folder
../ means parent folder
domain = src
root = src / index
例如在app.component.ts文件下面, url表示xxx.html xxx.css与xxx.ts
位于同一文件夹中./ is relative path as current folder
../ is relative path as parent folder
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})