2016-05-13 87 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()是未定义的。 –

回答

相关问题