簡體   English   中英

angular js服務/工廠屬性行為

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM