AngularJS控制器应该处理业务逻辑还是表示逻辑?
问题描述:
在AngularJS文档:https://docs.angularjs.org/guide/controller它说:AngularJS控制器应该处理业务逻辑还是表示逻辑?
- 控制器应该只包含业务逻辑。将任何表示逻辑放入控制器中会严重影响其可测试性。 Angular对大多数情况和指令进行了数据绑定,以封装手动DOM操作。
现在,这本书我读(AngularJS并运行O'Reily),这是学习AngularJS强烈推荐本书,它说(第17页):
-
一些在一个AngularJS应用的控制器的更常见的职责包括:
- 表示逻辑,诸如如何显示元件中,UI的部分,以显示它,如何风格他们等
这不是什么文档不使用控制器呢?什么是推荐? (建议控制器处理业务还是演示逻辑?)。
答
两者都可以使用角JS,表示层和业务逻辑层进行处理。假设您必须将任何操作指向UI,以针对将检查的运行时间更改 - 业务逻辑层。
假设我必须现在使用angular模块上传图像/文件我会拍摄图像/文件,然后它会被发送上传到服务器 - 比方说,节点js服务器 - 现在角可以接收及时的更新上传进度并且会在表示层上显示。
如果您需要更多说明,请让我知道。
正确的,但我们建议是什么? AngularJS Up and Running书中说,AngularJS应用程序中控制器的职责是处理表示逻辑。这些文件准确地说是不这样做,并说控制器应该只包含业务逻辑。 – user2719875
正是文档所说的,只是用它来触发表示层。它只是用来触发表示层不完全处理它。最终的魔法将显示在主页上。 –
@ user18703嘿,如果答案是可以接受的请你接受它的人如果不是让我来帮你。 –