我到处寻找答案,但不幸的是我什么也没找到。
我有一个看起来像这样的工作 Angular 应用程序:
...
<div class="container" ng-app="myApp">
<div class="page-title">
<h1>
Hello
</h1>
</div>
<div ng-view></div>
</div>
...
我正在使用 ngRoute 将 html 部分加载到 ng-view div 中。
我的 JS:
var myApp = angular.module('myApp', [
'ngRoute',
'myControllers'
]);
myApp.config(['$routeProvider', '$httpProvider',
function($routeProvider, $httpProvider) {
$routeProvider.
when('/step1', {
templateUrl: 'template1.html',
controller: 'Step1Controller'
}).
when('/step2', {
templateUrl: 'template2.html',
controller: 'Step2Controller'
}).
when('/step3', {
templateUrl: 'template3.html',
controller: 'Step3Controller'
}).
otherwise({
redirectTo: '/step1'
});
}]);
到这里为止,一切都是魅力。我已经完成了几乎所有我需要的东西(一个多步骤向导)。
在最后一步,我需要使用<script type="text/ng-template" id="specialTemplate.html"></script>
生成一些特殊的模板(一棵树)
因此,在我的最后一步页面部分(template3.html)中,我执行了以下操作:
<ul>
<li ng-repeat="item in [1,2,3]" ng-include="'specialTemplate.html'"></li>
</ul>
<script type="text/ng-template" id="specialTemplate.html">
Test
</script>
我在这里卡住了。我在控制台上收到404错误(他试图在我的浏览器 url 指向的同一目录中查找specialTemplate.html),并且模板没有加载。
当我进行一些测试时,我看到如果在ng-include
外部ng-view
,但在与我当前工作流程分离的干净内部ng-controller
,它确实会找到并加载模板,但这对我没有帮助,因为我必须在我的工作中渲染树步骤流。
是不是不可能在<script>
里面加载一个基于模板的ng-view
?
在此先感谢您的帮助。
编辑: 版本:AngularJS v1.3.0-beta.3