我想在会议上提出一个问题,希望得到一些专家的意见。
可以说我有一个“ userService”,我的应用程序中需要很多控制器。 (实际上是大多数)。

我认为,任何父控制器都将注入此userService并将该服务的属性公开给子控制器。由于任何“子级”控制器都可以访问父级作用域,因此无需将“ userService”注入每个控制器中。

另一个人的观点是,将“ userService”注入到需要它的每个控制器中,而不管该服务是否已经从其父级继承而来,这主要是因为它使代码更易于阅读,也很容易找到变量的来源。

在我看来,这种观点似乎是错误的,并且错过了Angular的要点,它如何使用原型继承以及作用域的力量。这实际上不是在引用相同内容的内存中创建不必要的实例吗?你为什么想这么做 ?

我很想听听对此的一些经验性意见。
谢谢!

最佳答案

内存中的引用很便宜。不用担心这些。更重要的是,当您将某个范围放在某个孩子需要完成其工作的范围内时,您会隐式创建一个导致不可重用组件的依赖项。您应该改为通过参数列表预先声明依赖项。稍后进行测试时,您将感激不尽。作用域继承适用于模板,而不适用于控制器。

10-05 20:38
查看更多