通过AJAX我得到JSON:
data : [
{
"type":"h2",
"PCDATA":"Title"
},
{
"type":"p",
"PCDATA":"First paragraph."
},
{
"type":"li",
"PCDATA":"list node"
},
{
"type":"p",
"PCDATA":"First paragraph."
}
]
现在我需要生成这样的HTML:
<h2>Title</h2>
<p>First paragraph.</p>
<ul>
<li>list node</li>
</ul>
<p>First paragraph.</p>
我可以使用ng-repeat
指令吗?如何使用一个ng-repeat
循环生成不同的HTML元素?
答案 0 :(得分:0)
我认为你不能只使用ng-repeat,因为我认为ng-repeat中的<{{elem.type}}>{{elem.PCDATA}}</{{elem.type}}>
之类的东西不会起作用。
以下是如何在控制器中执行此操作的小提琴:http://jsfiddle.net/terebentina/H3vQ9/3/ 我用$ timeout模拟了ajax调用。
但是,请注意,这是良好做法的边界 - 您不应该在控制器内部操纵html,但在这种情况下,您可能会认为您正在操纵数据。
更好的方法是使用一个循环数据的指令,类似于我在示例中的操作