1

我正在尝试找到将 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;
    };
});

有任何想法吗?谢谢!

4

2 回答 2

3

只需按照教程,特别是第 2 步(http://docs.angularjs.org/tutorial/step_02)将向您展示如何在页面上使用一些简单的功能来执行单个控制器。

您可以直接使用它,也可以像第 7 步那样通过模块化来开始扩展它。通过创建一个,module您可以添加指令和服务,并利用 Angular 提供的所有功能。您不一定需要配置路由或任何东西,但通过创建应用程序模块,您可以合并整个 Web 或 Angular 提供的其他模块或服务。

于 2013-05-07T01:33:53.553 回答
1

AngularJS 的设计并不是为了真正与其他框架一起运行,也不是为了一点点的使用。您可以将它一起破解来做到这一点,但它可能会变得非常混乱。Angular 更适合成为整个应用程序的基础。

像 jQuery 这样的东西非常适合放入应用程序并添加功能,但 Angular 要复杂得多。

但是,如果您确实希望 angular 控制某些部分,请查看ng-controller指令及其工作原理。然后在您的标准标记中,您只需将ng-controller属性添加到任何元素,然后将新的角度控制器添加到您的 javascript。然后它将管理该 DOM 元素。

查看角度控制器以获取更多信息。但正如我所说,我建议让应用程序完全是 Angular 的,而不是试图只是向它添加 Angular 位

于 2013-05-07T01:34:42.380 回答