如何使用AngularJS动态加载多个模板?

Nan*_*ier 8 angularjs

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

<div class="some_class">
    <div class="another_class">
        {content}
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在PHP中,我将插入此模板,然后{content}用另一个模板替换内容.在AngularJS中,我知道如何插入主模板(使用ng-view),但我不确定如何将我的"部分模板"动态加载到{content}标记中.这个假设是如何用AngularJS完成的?

Ste*_*wie 17

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

<div class="some_class">
  <div class="another_class">
    <ng-include src="templatePath"></ng-include>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

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

function MyCtrl($scope){
  $scope.templatePath = // define this var dynamically here
}
Run Code Online (Sandbox Code Playgroud)