首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将$scope传递给Angularjs中的服务是否不恰当,如果是的话,原因何在?

将$scope传递给Angularjs中的服务是否不恰当,如果是的话,原因何在?
EN

Stack Overflow用户
提问于 2014-07-23 04:07:24
回答 1查看 100关注 0票数 2

是否有强烈的理由不应将$scope传递给服务?

我意识到服务将是可重用的单点对象(),因此向服务传递(可能)大对象可能存在维护问题,但让我们假设声明“需要以下$scope成员”的可靠文档。我只是觉得它看起来比传递4-6参数更干净。

如果对这一做法有任何其他关切,将不胜感激。)我正在对这段代码进行评估!:)

顺便说一句,我刚刚意识到angularJS社区在这里是多么的活跃,我非常感激!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-23 04:36:10

阅读本文避免角范围汤的5条指南

在第5点中,他解释了不将$scope传递给服务的原因。

我会在这里引用他的一些文字

依赖于要从父控制器设置的值,或者依赖子控制器在父范围上设置数据的问题是,您最终会得到一个不容易看到的隐式耦合。 更糟糕的是,这意味着控制器实现完全依赖于视图中绑定的顺序!我不能独立地使用或测试这些控制器,因为它们是由$scope耦合在一起的。

$scope应用作视图andController之间的粘合剂。如果您想从$scope向服务发送一些值,只需提取出这些值并将它们传递给服务。

如果您看到必须传递太多的值,请考虑对对象中的值进行分组,然后传递它们。

在$scope中改变一些东西,可能会以不想要的方式影响应用程序。

使用$scope外部控制器是一种反模式.

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24901670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档