【发布时间】:2013-05-11 10:46:25
【问题描述】:
创建我的第一个 AngularJS 应用程序。
ng-repeat:er 加载标题。每个标题都是可点击的。单击标题时,ajax 调用会获取更多 JSON 数据。我需要在点击的标题下方添加这些数据。
通常,我会将 HTML 创建为字符串并将其附加到源代码中。但是由于我使用的是 AngularJS,所以应该有一种方法可以创建带有 HTML 和另一个 ng-repeat 的局部视图。
如何做到这一点?
【问题讨论】:
-
这听起来很适合在您的页面中实现路由。看看 Angular 官方教程的这一部分:docs.angularjs.org/tutorial/step_07 和这个文档条目:docs.angularjs.org/api/ng.directive:ngView
-
是的,这似乎是最好的方法。我首先考虑不使用路线,但这会做。我不明白的一件事是:你如何将一个局部视图“附加”到另一个局部视图中?
-
看看
ng-include指令:docs.angularjs.org/api/ng.directive:ngInclude。有了它,您可以包含也可以在其中包含ng-include的部分——在部分中包含部分等等。您可以动态更改部分的源(通过将 url 设置为某个对象引用而不是字符串字面量 - 它显示在我包含的文档条目的示例中)。 -
也许在指令中有视图,然后在需要时将指令的 html 作为元素附加。也就是说,如果您真的不想预加载 html 并使用 ng-show/ng-hide。