9

我是 AngularJS 的新手,来自 PHP 背景,我在服务器上进行所有模板聚合。使用 PHP,我会抓取几个模板,将它们混合在一起,然后将其发送到客户端浏览器。AngularJS 允许我使用ng-view. 这很好,但它不能处理我插入的模板可能包含作为其他模板占位符的标签的情况。例如,我可能将以下内容作为我的模板之一:

<div class="some_class">
    <div class="another_class">
        {content}
    </div>
</div>

在 PHP 中,我会插入这个模板,然后{content}用另一个模板替换 的内容。在 AngularJS 中,我知道如何插入主模板(使用ng-view),但我不确定如何将我的“部分模板”动态加载到{content}标签中。这应该如何用 AngularJS 来完成?

4

2 回答 2

18

一个简单的方法是使用ngInclude 指令

<div class="some_class">
  <div class="another_class">
    <ng-include src="templatePath"></ng-include>
  </div>
</div>

然后,在与此模板关联的 Controller 中,您可以templatePath 动态定义变量:

function MyCtrl($scope){
  $scope.templatePath = // define this var dynamically here
}
于 2013-06-30T13:47:14.940 回答
3

ng-viewAngular.js 目前不支持使用嵌套多个模板。但是,有多个选项可以模拟该功能。请参阅此 SO question中的答案以了解其中几个选项,包括 akonsu 建议的 ui-router。

于 2013-06-30T05:02:56.687 回答