0

我试图将角度小部件添加到现有的非角度应用程序中。问题是这些小部件不是由 Angular 添加的,并且大部分是通过非 Angular 脚本注入到 DOM 中的。

我想到的第一件事是angular.bootstrap用于每个小部件。但是这种方法的问题是我不能在小部件之间共享服务。因此,我不想这样做,而是想引导 Angular 应用程序一次,并为每个小部件手动加载控制器。

这是一个沙盒 jsbin,我一直在尝试但没有成功

我正在尝试app1手动和app2自动制作,同时共享sharedThing服务。

4

2 回答 2

0

好吧,我找到了我的答案。

我不知道我之前是否解决过它,但是我必须$apply在重新编译元素后调用以查看更改,而无需手动修改输入。此外,我发现我可以使用 DOM 之外的元素初始化 Angular 应用程序,并且可以编译根元素之外的元素!这非常适合我想要实现的目标。

无论如何,这里是代码工作的 jsBin。

于 2014-02-28T19:39:31.760 回答
0

在应用程序配置中

app.config(function($controllerProvider) {
app.register =
    {
        controller: $controllerProvider.register

    };
}

然后在你声明控制器功能之后 app.register.controller('CtrlName',CntrlFn]);

丹写了一篇很棒的文章。http://weblogs.asp.net/dwahlin/archive/2013/05/22/dynamically-loading-controllers-and-views-with-angularjs-and-requirejs.aspx

于 2014-02-28T18:20:44.733 回答