【发布时间】:2013-04-22 19:51:49
【问题描述】:
我正在尝试根据当前项目动态显示 ng-repeat 指令中的几个模板之一。
我的 JSON 数据如下所示:
data: {
groups: [
{
name: "Group 1",
sections: [
{ name: "Section A" },
{ name: "Section B" }
]
},
{
name: "Group 2",
sections: [
{ name: "Section A" },
{ 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 的做事方式。
【问题讨论】:
-
听起来是一个很好的指令案例。
-
Lucuma,你能多评论一下吗?我也考虑过使用指令,但不确定理想的粒度级别。我应该构建一个只选择模板的指令,还是每个“部分”都有自己的指令?
-
我认为这取决于你想怎么做。您可以创建一个指令来完成所有操作(传入 groups 数组)和/或您可以创建另一个在您的 groups 指令中调用的指令来处理这些部分。指令的好处是它们有自己的范围。我将提供一个小例子。
标签: angularjs