Angular - 设置每页更改的路径变量

时间:2015-08-07 18:35:19

标签: javascript angularjs

我在网站的不同部分,包括不同文件夹级别的部分内容。因此,我需要能够在每页上设置根相对文件夹路径,以便可以找到部分和图像等资源。例如,像这样的东西,但是正确的:

的index.html:

<div class="homepage">
    <ng-include src="'patterns/header.html'">
</div>

但也可以访问以下相同的部分:

/individuals/header/index.html

<div class="individual">
    <ng-include src="'../../patterns/header.html'">
</div>

是否有设置类似

的方法
pathIs = '../../patterns/'

将在单个页面上使用,如下所示:

<ng-include="{{pathIs}} + 'header.html'">

如果是这样,我会在哪里这样做?目录结构如下:

index.html
|
patterns/
--------header.html
|
individuals/
--------header/
----------------index.html

(我在index.html以及个人/ header / index.html中都包含header.html)

2 个答案:

答案 0 :(得分:2)

有很多方法可以做到这一点,一种方法是在服务中存储相对路径,例如:

services.factory('ConfigurationService', function(){    
    var root = {};

    root.getWebappContextName = function () {
        return "/myapp";
    };      

    return root;    
});

在你的控制者中:

$scope.getTemplatePath = function () {
   return ConfigurationService.getWebappContextName() + "/myspecificpath/;
}
$scope.templatePath = $scope.getTemplatePath();
你的HTML中的

<div id="header" data-ng-include data-src="templatePath + 'header.html'"></div>

答案 1 :(得分:0)

正如@mrusinak所说,设置

<base href="/">

做我需要做的事情。现在我只需要弄清楚如何在开发环境和生产环境之间切换。