如何动态更改ng-include视图?

时间:2014-04-10 08:10:57

标签: angularjs templates

我有简化的以下架构:

<section ng-controller="myController">
    <!-- Content -->
    <button>Clic here !</button>
</section>
<aside ng-include="nav.html">
    <!-- Content -->
</aside>

当我aside控件驱动button时,如何动态更改myController标记中包含的视图?

请注意,我的控制器范围不包含aside标记。

1 个答案:

答案 0 :(得分:1)

将ng-include设置为范围内的变量。

<aside ng-include="currentTemplate">
    <!-- Content -->
</aside>

向调用函数的按钮添加ng-click以更改此变量

    <button ng-click="setTemplate()">Click here !</button>

将函数和变量添加到控制器:

$scope.currentTemplate = 'firstTemplate.html';

$scope.setTemplate = function(){
    $scope.currentTemplate = 'clickedTemplate.html';
}

应该这样做。

Fiddler示例:http://jsfiddle.net/AU6Mr/1/