[英]angular js Service/Factory attributes behavior
我有一個關於AngularJS行為的問題(一般的JS行為)
我有一個Angular工廠注入控制器。
這是控制器代碼的片段
$scope.localObjCollection= myObjFactorySvc.getObjCollection();
假設myObjFactorySvc.getObjCollection()返回以下對象
[{"id":1"name":null,"address":null,"email":null},
{"id":2"name":null,"address":null,"email":null},
{"id":3"name":null,"address":null,"email":null},
{"id":4"name":null,"address":null,"email":null},
]
所以,我幾乎使用工廠來獲取集合並將其存儲在$scope.localObjCollection
。 我的問題是$scope.localObjCollection
是否具有getObjCollection()
返回的數據的值(副本getObjCollection()
或僅是引用。
因此,如果在控制器源代碼中某處,如果我執行$scope.localObjCollection.push(newObj)
,它是否還更新了Factory中的原始集合? 我應該猜,但我想了解正確的行為
JavaScript中的數組是一個對象,JS中的對象總是通過引用傳遞/分配。 因此,您的代碼也會更新Factory中的原始集合,假設您的myObjFactorySvc.getObjCollection()是這樣的:
myObjFactorySvc.getObjCollection = function() { return someArrayVariable; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.