AngularJS控制器应该处理业务逻辑还是表示逻辑?

时间:2015-09-05 20:54:31

标签: angularjs angularjs-controller

在AngularJS文档中:https://docs.angularjs.org/guide/controller它说:

  • 控制器应仅包含业务逻辑。将任何表示逻辑放入控制器会显着影响其可测试性。 Angular对大多数情况和指令进行数据绑定以封装手动DOM操作。

现在,在我正在阅读的书中(AngularJS Up and Running O'Reily),这是一本非常值得推荐的学习AngularJS的书,它说(第17页):

  • AngularJS应用程序中控制器的一些常见职责包括:

    • 演示逻辑,例如如何显示元素,显示UI的哪些部分,如何设置样式等等。

这不就是不使用控制器的文档吗?什么推荐? (建议控制器处理业务或表示逻辑吗?)。

1 个答案:

答案 0 :(得分:1)

两者都可以使用Angular JS,表示层和业务逻辑层来处理。假设您必须针对将要检查的运行时更改将任何操作指向UI - 业务逻辑层。

假设我现在必须使用angular的模块上传图像/文件我将获取图像/文件,然后将其发送到服务器 - 假设节点js server- now angular可以及时收到有关上传的更新进度,这将显示在表示层上。

如果您需要更多说明,请告诉我。