簡體   English   中英

如何將對象數組分配給數組?

[英]How can i assign array of object to array?

我現在有一個來自后端的json響應controlOwners ,我想將響應設置為$scope.selectedOwners = [] ,但是它在控制台中給我未定義的任何提示這是怎么了?

ctrl.js

$scope.selectedOwners = [];
if ($state.is('app.editControl')) {
          $scope.selectedOwners = angular.copy($scope.controlowners);
          console.log('EDIT CONTROL OWNERS DATA', $scope.selectedOwners);
        }

json.js

"controlOwners": [{
    "workerKey": -1093,
    "sourceFeed": null,
    "statusLookUpCode": null,
    "externalId": null,
    "createdUserText": null,
    "createdTimestamp": null,
    "modifiedUserText": null,
    "modifiedTimestamp": null,
    "stdId": "ZK84T1N",
    "ccId": null,
    "empClasId": null,
    "deptId": null,
    "fullName": "Rajasekaran, Shanmuga",
}],

正如我在上面的評論中所述,我的猜測是您對controlOwners的引用中包含不正確的大小寫。 您應將其拼寫為小寫字母“ o”(“ controlowners”),而應將其拼寫為大寫(“ controlOwners”)。 因此,您將收到未定義的錯誤。

首先請確保這不是拼寫錯誤。 你們兩個都有:

controlOwners
       ^

controlowners
       ^

在JSON和代碼中。


然后,如果拼寫錯誤只是您的問題而不是您的代碼,並且取決於您在其他地方使用$scope.selectedOwners ,則您可能不想替換 if語句中列表的引用,而希望對其進行更新現有列表(即使您必須先清除它)。

但是很明顯,如果您的代碼正好具有:

$scope.selectedOwners = [];
if ($state.is('app.editControl')) {

而不是可能在其他時間觸發的回調中的if,則忽略它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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