javascript - angularjs 数据组织服务与范围

标签 javascript angularjs

数据案例: 100 种不同的餐食,都有自己的原产地(国家)、准备时间、难度等)。

两个事件 View (彼此相邻);

  1. 过滤(按国家/地区、准备时间、难度...)
  2. 列表(符合过滤条件的餐食)

-将所有餐食放入餐食服务中相对于直接将其放入范围内有哪些优势?

过滤列表

  • 我是否应该在 mealservice 中有一个对象来保存过滤器(例如 filters={'country':'germamy', 'maxPrepTime':50}

  • 我是否应该在 mealservice 中有一个对象来保存所选餐食(如果是) 例如,将一个国家/地区添加到 searchcriterea 中,此列表将直接更新(在 View 中,此列表仅需要 ng-repeat)

  • 我应该定义自己的过滤器(ng-repeat="meal in Meal"| customFilter ")

  • 其他方法?

提前致谢!!!

最佳答案

作为最佳实践,您应该始终拥有 fat models and thin controllers .

最重要的论据之一是,重用会更容易 您的代码(如果它封装在服务/工厂中,那么如果它在 Controller 中实现)。

您还可以实现自己的过滤器,但它实际上可以使用服务中的方法。

关于javascript - angularjs 数据组织服务与范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23446459/

相关文章:

javascript - Meteor 中 2 个字段的双重迭代

javascript - 在 : fixed div 位置设置 ScrollTop 动画

javascript - Angular Material - md-virtual-repeat in list - 滚动/加载/显示问题

javascript - Firebase 数据库函数无法修改 angularjs 中的 $scope 变量

angularjs - Angular Material 如何将数据传递给预设对话框

javascript - 更改所有 child 图像来源

javascript - 使用 cookie 的值重新填充表单

javascript - 从 KnockoutJS 中动态生成的输入中获取值

angularjs - 使用 angualrjs 和带有 webapi 的 abp 样板上传文件

javascript - AngularJS从文本区域保存html