1

私はこのHTML要素を持っています:

<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>

これにより、Stackoverflow と同様のタグ入力フィールドが作成されます。これは使用されているパッケージですhttp://mbenford.github.io/ngTagsInput/

これで loadGenres は so のようなオブジェクトを返します{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]
4

1 に答える 1