2016-03-10 75 views
0

在Web應用程序中有一個嚮導。每個頁面中的用戶將從表中選擇一行或多行。將會有一個包含所選行的服務,每個表包含一個數組。特別是在服務將有:使用AngularJS將服務中的JS對象複製到服務

return { 
    name: null, 
    toys: [], 
    foods: [], 
    albums: [] 
    }; 

,當用戶在一個嚮導頁往前走,有這把所選行的數組中的方法。

現在,我想要做的是在最後一頁(這是一個摘要頁面)中創建一個服務。該服務將包含幾乎所有其他陣列服務。特別是,它將包含玩具[]和相冊[]。 所以,目標是創建一個服務,並添加一個玩具副本[....所有選定的玩具....]和一個相冊的副本[........所有選定的相冊.... ]。

這個問題當然不是創建一個服務,而是用另一個對象的數組的副本來填充它。我能怎麼做?

+0

[angular.copy](https://docs.angularjs.org/api/ng/function/angular.copy)。 – estus

回答

0

如果我正確理解問題,則需要這些陣列的應用程序級存儲。如果這確實是你想要的,那麼你可以簡單地使用一個值來存儲這些數組,並從任何服務,控制器,無論你注入到哪個數組中訪問它。

喜歡的東西:

.value("Storage", { toys: [], albums: [] }) 
.service("MyToysService", function(Storage) { 
    this.addToy = function(toy) { 
     Storage.toys.push(toy); 
    } 
}) 

你必須完全訪問存儲對象及其所有陣列,無論你把它注射。在一個地方改變它會改變它在你使用它的任何地方,因爲存儲只是一個對象。

相關問題