我正在尝试找到将AngularJS整合到现有应用程序中的方法。应用程序是模块化的,所以每个模块都有HTML标记和JS脚本文件。加载模块时会使用requirejs和jQuery (用于加载标记)。
考虑到将来迁移到AngularJS的可能性,我想在一些模块中使用AngularJS特性。所以理想情况下,我想要这样的东西:
define([ 'angular' ], function (angular) {
return function (element) {
// The "element" parameter contains the reference to
// the detached DOM node that contains the markup.
// And what I think should be done is compiling
// or initializing AngularJS with the given DOM HTML fragment
// and with controller, etc.
angular.doSomething(element, ...something...);
// The application module engine will inject the returned element
// into the DOM tree.
return element;
};
});有什么想法吗?谢谢!
发布于 2013-05-07 09:34:42
AngularJS的设计并不是为了真正与其他框架一起运行,而是为了一些零碎的东西而使用。你可以把它拼凑在一起来做这件事,但它可能会变得非常混乱。Angular更适合成为整个应用的基础。
像jQuery这样的东西很适合放入应用程序并添加功能,但angular要复杂得多。
如果你想让angular控制某些部分,看看ng-controller指令以及它是如何工作的。然后,在您的标准标记中,您只需将ng-controller属性添加到任何元素,然后将一个新的角度控制器添加到javascript中。然后,它将管理DOM元素。
有关这方面的更多信息,请查看angular控制器。但正如我所说的,我建议让这个应用程序完全成角度,而不是仅仅添加一些角的部分
发布于 2013-05-07 09:33:54
遵循本教程,特别是步骤2 (http://docs.angularjs.org/tutorial/step_02)将向您展示如何在页面上使用一些简单的功能来实现单个控制器。
您可以直接使用它,也可以像步骤7中那样通过模块化开始扩展它。通过创建一个module,您可以添加指令和服务,并利用所有这些Angular提供的功能。你不一定需要配置路由或任何东西,但通过创建一个应用程序模块,你可以整合整个网络或Angular提供的其他模块或服务。
https://stackoverflow.com/questions/16409804
复制相似问题