2016-11-06 28 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攔截。

相關問題