2016-01-06 52 views
2

任何人都可以幫助理解$rootScope.$new()$rootScope.$new(true)之間的區別嗎? 根據我的理解,它們應該是相同的,因爲$rootScope沒有父範圍。

回答

6

$new的第一個參數決定新範圍是否應被隔離。

考慮以下幾點:

$rootScope.data = { property: 'Value' }; 

var childA = $rootScope.$new(); 

var childB = $rootScope.$new(true); 

childA不會被隔離,將有機會獲得data由於原型繼承。

childB將被隔離,而且不會從$rootScope繼承(實際上它仍然可以通過$parent屬性訪問data,但那是另一個問題)。

相關問題