是否有强烈的理由不应将$scope传递给服务?
我意识到服务将是可重用的单点对象(),因此向服务传递(可能)大对象可能存在维护问题,但让我们假设声明“需要以下$scope成员”的可靠文档。我只是觉得它看起来比传递4-6参数更干净。
如果对这一做法有任何其他关切,将不胜感激。)我正在对这段代码进行评估!:)
顺便说一句,我刚刚意识到angularJS社区在这里是多么的活跃,我非常感激!!
发布于 2014-07-23 04:36:10
阅读本文避免角范围汤的5条指南
在第5点中,他解释了不将$scope传递给服务的原因。
我会在这里引用他的一些文字
依赖于要从父控制器设置的值,或者依赖子控制器在父范围上设置数据的问题是,您最终会得到一个不容易看到的隐式耦合。 更糟糕的是,这意味着控制器实现完全依赖于视图中绑定的顺序!我不能独立地使用或测试这些控制器,因为它们是由$scope耦合在一起的。
$scope应用作视图andController之间的粘合剂。如果您想从$scope向服务发送一些值,只需提取出这些值并将它们传递给服务。
如果您看到必须传递太多的值,请考虑对对象中的值进行分组,然后传递它们。
在$scope中改变一些东西,可能会以不想要的方式影响应用程序。
使用$scope外部控制器是一种反模式.
https://stackoverflow.com/questions/24901670
复制相似问题