无法在同一个 HTML 中使用多个 templates/controllers

Unable to use multiple templates/controllers in same HTML

在 Angular 应用程序中,我需要在 B.html 中包含 A.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:这个问题的答案可能是许多其他类似问题的答案,但我一开始找不到答案。这个问题的投票清楚地表明它具有相关性。

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

ng-includesrc 属性接受一个字符串。所以将其更改为:

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

来自docs

angular expression evaluating to URL. If the source is a string constant, make sure you wrap it in single quotes, e.g. src="'myPartialTemplate.html'".