私はこの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]