angularjs - AngularJS Controller 应该处理业务逻辑还是表示逻辑?

标签 angularjs angularjs-controller

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

  • Controller 应该只包含业务逻辑。将任何表示逻辑放入 Controller 会显着影响其可测试性。 Angular 具有适用于大多数情况的数据绑定(bind)和封装手动 DOM 操作的指令。

  • 现在,在我正在阅读的书(AngularJS Up and Running O'Reily)中,这是一本强烈推荐用于学习 AngularJS 的书,它说(第 17 页):
  • AngularJS 应用程序中 Controller 的一些更常见的职责包括:
  • 表示逻辑,例如如何显示元素、显示 UI 的哪些部分、如何设置它们的样式等。

  • 这不正是文档不使用 Controller 的目的吗?有什么推荐的? (是否建议 Controller 处理业务或表示逻辑?)。

    最佳答案

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

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

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

    关于angularjs - AngularJS Controller 应该处理业务逻辑还是表示逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32417582/

    相关文章:

    html - 使用 Angular 工作的 HTML 输入中的 Font Awesome 图标

    javascript - AngularJS : how to use ng-change in factories?

    javascript - 在 AngularJS 中创建 Controller 时出现问题

    angularjs - 调用超过 1 个 $rootScope.$on

    javascript - 如何定义仅更改属性而不是(替换/附加)整个 HTML 标记的自定义 angularjs 指令

    javascript - 使用 angular-file-upload 获取文件内容

    javascript - Json休息API : Best solution for getting multiple bits of data

    angularjs - 污染 $scope 对象会影响性能吗?

    javascript - Angular 重新加载嵌入式 Controller

    javascript - Controller 继承在 AngularJS 中是一个好的实践吗?