2016-05-13 31 views
0

的我有這樣的HTML元素:的id的保存陣列,而不是對象

<tags-input 
    ng-model="film.genre" 
    display-property="name" 
    key-property="id" 
    placeholder="Genre" 
    replace-spaces-with-dashes="false"> 
    <auto-complete source="loadGenres($query)"></auto-complete> 
</tags-input> 

這將創建一個類似的標籤輸入字段#2。這是正在使用的包http://mbenford.github.io/ngTagsInput/

現在,loadGenres將返回一個對象,如{name: "Genre name", id: 4}。它將被存儲到film.genre中。這是一個問題,因爲API服務期望film.genre = [4, ...]基本上它必須是一個id數組。

我不完全確定如何解決這個問題。我試圖在我的newFilm()方法循環film.genre中創建一個空數組,並將id添加到該數組,然後將其分配給film.genre。然而,這不起作用,因爲當我輸出電影后,我仍然得到一個對象的數組,其中name:id由某種邏輯。

我得到film.genre:

"genre": [ 0: { "id": 1, "name": "Action" }, 1: { "id": 5, "name": "Comedy" }, ..] 

我需要:

"genre" : [1, 5] 
+1

難道你不能只是改變數據的出路嗎? 'film.genre.map(g => g.id)' – Phil

+0

你可以提供數組有什麼以及你想要什麼嗎? –

+0

@Phil我試着按照我在服務中提到的方式重新分配數組,以便將其發佈到API服務的最後一個地方。同樣的結果,我也嘗試了film.genre.map(..),但是我得到一個錯誤,說.map()是未定義的。 –

回答

相關問題