无法在同一HTML中使用多个模板/控制器

时间:2016-05-22 07:11:03

标签: javascript html angularjs angularjs-ng-include

在Angular应用中,我需要在A.html中包含B.html及其控制器,而不必复制A.html或AController。

我在A.html中写了以下内容,但它没有用

<div ng-include src="src/html/v1/A.html"></div>

以下是应用的代码结构

src
├── html
│   ├── v1
│   │   ├── A.html
│   │   ├── B.html
├── index.coffee
├── index.html
├── js
│   ├── controllers
│   │   ├── v1
│   │   │   ├── AController.js
|   │   │   ├── BController.js
└── sass
    ├── v1

以下是index.coffee包含的内容 -

 $routeProvider
    .when("/",
      {
        templateUrl: "src/html/v1/A.html",
        title: "A"
        controller: "AController"
      })
    .when("/A",
      {
        templateUrl: "src/html/v1/A.html",
        title: "A"
        controller: "AController"
      })
    .when("/B",
      {
        templateUrl: "src/html/v1/B.html",
        title: "B"
        controller: "BController"
      })
    .otherwise({ redirectTo: "/" })

请建议我在这里缺少什么。

PS:这个问题的答案可能是许多其他类似问题的答案,但我在初一时找不到答案。对这个问题的赞成清楚地表明它具有相关性。

2 个答案:

答案 0 :(得分:1)

应为<div ng-include src="'src/html/v1/A.html'"></div>

答案 1 :(得分:1)

src的{​​{1}}属性接受字符串。所以改成它:

ng-include

来自docs

  

角度表达式评估为URL。如果源是一个字符串   常量,请确保将其用单引号括起来,例如   <div ng-include src="'src/html/v1/A.html'"></div>