在AngularJS中动态显示ng-repeat指令中的模板?

前端之家收集整理的这篇文章主要介绍了在AngularJS中动态显示ng-repeat指令中的模板?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试根据当前项目在ng-repeat指令中动态显示几个模板之一.

我的JSON数据如下所示:

data: {
    groups: [
        {
            name: "Group 1",sections: [
                { name: "Section A" },{ name: "Section B" }
            ]
        },{
            name: "Group 2",{ name: "Section B" }
            ]
        }
    ]
}

我的目标是动态渲染数据树,每个组包含多个部分.这些组都将具有相同的模板,但每个部分都应该有自己的模板,基于名称字段.

假设顶级HTML是:

<div ng-repeat="group in groups">
    {{ group.name }}
    <div ng-repeat="section in sections">
        <!-- Dynamic section template used -->
    </div>
</div>

理想情况下,每个部分还需要具有与其相关联的其自己的作用域数据和控制器.我已经用Knockout建立了这种类型的系统,但是我正在努力去理解Angular的做事方式.

你可以这样做:
<div ng-repeat="group in groups">
    {{ group.name }}
    <div ng-repeat="section in sections" ng-include="getIncludeFile(section)">
        <!-- Dynamic section template used -->
    </div>
</div>

然后在你的控制器:

$scope.getIncludeFile = function(section) {
    // Make this more dynamic,but you get the idea
    switch (section) {
        case "Section A":
            return 'partials/sectiona.html';
        case "Section B":
            return 'partials/sectionb.html';
    }
}

那么你的sectiona.html可能看起来像这样(有一个特定于该文件的控制器):

<div ng-controller="SectionAController">
    <!-- HTML in here,and can bind straight to your SectionAController -->
</div>
原文链接:https://www.f2er.com/angularjs/140558.html

猜你在找的Angularjs相关文章