Angularjs - 可以部分拥有自己的控制器,指令等

时间:2013-11-22 06:39:30

标签: javascript angularjs

我正在寻找angularjs中的方法,将部分(HTML模板)加载到单个页面上的指定div中。我有兴趣尝试角度ui ... https://github.com/angular-ui/ui-router ...我还发现了一些其他方法可以实现视觉上类似的效果......其中最有趣的是这一个...... http://www.youtube.com/watch?v=9COtsDovNpM。 ..在我的情况下,我将不得不动态地实现选项卡/按钮/菜单和属于部分,从范围加载数据..

我有3个问题..

  1. 部分(加载的HTML模板)可以拥有自己的angularjs应用程序,模块,控制器和其他角度组件吗?

  2. 如果回答1.是,那么这个方法是否有任何特殊的考虑因素或问题可以用于开发?

  3. 您是否了解这个想法的基本实施示例?

  4. 谢谢!

1 个答案:

答案 0 :(得分:2)

如果不使用诸如RequireJS之类的AMD加载程序,则无法在局部内部创建AngularJS应用程序。问题是AngularJS在HTML元素上引导自身,而partials的定义是它在引导后加载。

假设您的目标是仅在部分加载时加载控制器,指令等,RequireJS可以在不需要创建单独的应用程序的情况下执行此操作。看看下面的示例网站:

http://marcoslin.github.io/angularAMD/

在浏览器上打开您的开发人员工具并监控正在加载的文件。第一次切换选项卡时,您将看到正在加载控制器和指令。以下是一个了解如何将angularAMDui-router

进行整合的动画

http://plnkr.co/edit/czs2G7qHmksiZAmILOcx?p=preview

如果您必须拥有单独的AngularJS应用程序,可以使用以下内容来说明如何在一个页面中创建多个应用程序:

http://plnkr.co/edit/R2jVeAWAHTvgoGJX12QE?p=preview

您可能仍需要将“部分内容中的应用”引导至index.html中的HTML元素,但它将接近您要查看的内容。