如何在AngularJS中将复杂控制器拆分为多个控制器

时间:2017-06-14 18:49:49

标签: angularjs

现在我正在研究一个项目并且这个控制器失控了,但我真的不知道如何拆分它。它有大约400个与$ scope耦合的变量。

我确实尝试将变量分组到5个面板中,因此我可以稍后拆分控制器。我的目标是:每个面板一个控制器。问题是其中一个面板有一个按钮,它用$ http将所有变量发送到服务器,当该面板中的某些变量发生变化时,它会更新(事件)其他面板中的多个变量。

enter image description here

所以基本上,面板仍然非常适合事件。面板A中的事件可以刷新面板B,C和D,面板B中的事件可以刷新面板D和E.通过刷新我的意思是修改视图和变量。

我读了如何解决数据部分,使用服务在控制器之间共享数据......但是这会产生事件的问题,因为服务中的变量没有绑定到$ scope,所以我必须使用观察者模式在服务中修改变量时通知所有感兴趣的Panel,我觉得有点挫败了MVC的目的(不确定)。

控制器太大而且太复杂而无法分享它,我很抱歉,但我只是想问一下,如果有人在过去遇到过这个问题:

如何分割一个非常大的控制器,因为变量(数据)非常耦合到$ scope,这些变量非常依赖事件($ scope digest cycle)?

0 个答案:

没有答案