2016-11-06 56 views
0

在AngularJS中,您可以将数据存储在$ rootScope中或创建一个值-Service? 他们都只能访问依赖注入 - 所以区别在哪里? 什么时候应该使用$ rootScope并且当值 - 服务?

回答

0

$rootScope是根scope对象,它是所有其他scope继承的父对象。当一个属性被添加到$rootScope时,该属性可用于所有后代$scope对象。即使$rootScope没有注入到控制器中,但这些属性仍存在,但为了以编程方式修改属性,需要注入。此外,由于JavaScript prototype inheritance规则,对于特定控制器而言,潜在的可能性为隐藏 a $rootScope值。这使得$rootScope a 伪全局,并且可能不安全。但是,由于每个scope都是$rootScope的后代,所以$rootScope对于诸如$broadcast之类的东西是理想的。

A Value服务是一个简单的注射单身价值。这是从来没有可用,除非注入。 A Value不打算直接修改,但它是可能在Angular 1.x中这样做。 Value也可以被Decorator拦截。

相关问题