公平警告:Angular新手在这里。
我正在使用ng-repeat
循环遍历一个对象数组,并且数组中有4-5种不同类型的数据。
它们都具有相同的基本格式,但每种类型都会有一些与之关联的特定类型的元数据。
坦率地说,如果没有很多ng-if
陈述,我不知道如何处理这个问题。
我们目前正在使用具有多种模板类型的Mustache(我希望摆脱许多重复的代码)但是想要使用Angular来处理这个问题。
这是一个非常愚蠢的例子,说明我的对象可能是什么样的。
[{
"title": "title1",
"by": 1,
"text": "First post EVER!"
},
{
"title": "title2",
"by": 12,
"text": "2nd post",
"meta_data": {
"tag": 5,
"img": "http://link.com/img.jpg"
}
},
{
"title": "title3",
"by": 104,
"text": "3rd",
"meta_data": {
"section": 22,
"video": "http://link.com/img.jpg"
}
}]
这里有更多的字段,但我不确定处理这个问题的方法是什么。
也许自定义指令如<div activity-image />
和<div activity-video />
如果不存在则不返回任何内容?
提前感谢您的帮助。对于像这样的事情的最佳实践,我一无所知。
答案 0 :(得分:1)
您可以使用ngInclude
处理多个HTML模板并减少重复代码。首先为不同模板类型的公共部分创建模板,如下面的
commonHeader.html
<h1>{{obj.title2}}</h2>
<div>{{obj.text}}</div>
然后您可以创建模板
<div ng-include="commonHeader.html""></div>
<div>depend on the type</div>
最后在ng-repeat循环中,根据数据类型包含不同的模板。