我有 angularjs 控制器,其中有很多逻辑。我正在考虑重新分解控制器逻辑,并提出了两个选项。通过创建公共方法将所有控制器逻辑移动到服务或计划javascript类。
我想要移出控制器的代码不是可重复使用。请注意,逻辑包括将数据转换为不同的对象格式,数组操作,在绑定到UI之前或发布到后端之前将数据转换为不同的格式。我也使用 ViewModel 这是一个< strong>普通javscript类,可以执行从模型数据(api数据)到可绑定ui数据的基本数据转换。
那么通过将逻辑移动到服务而不是普通javascript类,我将获得哪些好处?将我的逻辑移出控制器的主要动机是使代码更可测试(通过将逻辑设置为公共方法)并使控制器仅具有 UI交互和< strong> api调用代码。