我正在与AngularJS合作完成我的最新项目.在文档和教程中,所有模型数据都放入控制器范围.我理解它必须在那里才能供控制器使用,从而在相应的视图中可用.
然而,我认为该模型实际上不应该在那里实现.例如,它可能很复杂,并且具有私有属性.此外,您可能希望在另一个上下文/应用程序中重用它.将所有东西都放到控制器中完全打破了MVC模式.
这同样适用于任何模型的行为.如果我使用DCI architecture并将行为与数据模型分开,我将不得不引入其他对象来保存行为.这将通过引入角色和上下文来实现.
DCI==Data Collaboration Iinteraction
当然,模型数据和行为可以用纯javascript对象或任何"类"模式来实现.但是,AngularJS会用什么方式来做到这一点呢?使用服务?
So it comes down to this question:
按照AngularJS的最佳实践,如何实现与控制器分离的模型?