1

通过 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 元素?

4

1 回答 1

0

我不认为你可以只使用 ng-repeat 因为我不认为像<{{elem.type}}>{{elem.PCDATA}}</{{elem.type}}>inside ng-repeat 这样的东西会起作用。

这是如何在控制器中执行此操作的小提琴:http: //jsfiddle.net/terebentina/H3vQ9/3/ 我用 $timeout 模拟了 ajax 调用。

但是,请注意,这是良好实践的边界——您不应该在控制器内部操作 html,但在这种情况下,您可能会争辩说您正在操作数据。

更好的方法是使用循环遍历数据的指令,类似于我在示例中的操作

于 2013-07-11T09:14:47.373 回答