我试图将角度小部件添加到现有的非角度应用程序中。问题是这些小部件不是由 Angular 添加的,并且大部分是通过非 Angular 脚本注入到 DOM 中的。
我想到的第一件事是angular.bootstrap
用于每个小部件。但是这种方法的问题是我不能在小部件之间共享服务。因此,我不想这样做,而是想引导 Angular 应用程序一次,并为每个小部件手动加载控制器。
我正在尝试app1
手动和app2
自动制作,同时共享sharedThing
服务。
我试图将角度小部件添加到现有的非角度应用程序中。问题是这些小部件不是由 Angular 添加的,并且大部分是通过非 Angular 脚本注入到 DOM 中的。
我想到的第一件事是angular.bootstrap
用于每个小部件。但是这种方法的问题是我不能在小部件之间共享服务。因此,我不想这样做,而是想引导 Angular 应用程序一次,并为每个小部件手动加载控制器。
我正在尝试app1
手动和app2
自动制作,同时共享sharedThing
服务。
好吧,我找到了我的答案。
我不知道我之前是否解决过它,但是我必须$apply
在重新编译元素后调用以查看更改,而无需手动修改输入。此外,我发现我可以使用 DOM 之外的元素初始化 Angular 应用程序,并且可以编译根元素之外的元素!这非常适合我想要实现的目标。
在应用程序配置中
app.config(function($controllerProvider) {
app.register =
{
controller: $controllerProvider.register
};
}
然后在你声明控制器功能之后
app.register.controller('CtrlName',CntrlFn]);