web-dev-qa-db-ja.com

AngularJSチェックボックスng-repeatと選択されたオブジェクト?

私は痛みを抑えて適切な方法でそれをしようとしていますが、ng-modelを処理して選択リストなどにバインドする方法がわかりませんし、さらにそのリストを後で入力して選択したオブジェクトを保持する必要があります初期化。

categories = [ { "name": "Sport", "id": "50d5ad" } , {"name": "General", "id": "678ffr" } ]

    <span ng-repeat="category in categories">
      <label class="checkbox" for="{{category.id}}">
        <input type="checkbox" value="{{category.id}}" ng-model="??" ng-click="??" name="group" id="{{category.id}}" />
        {{category.name}}
      </label>
    </span>

リストはサーバーから取り出されるため、リストが作成されるたびにカテゴリーをオーバーライドする必要があります。

だから、私は配列を持っている必要があり、2番目のものは選択されたオブジェクトを保持すると思いますか?

正しい場合、チェックボックスを事前選択するにはどうすればよいですか?

選択したオブジェクトを他の配列に保存するためにカスタム関数を呼び出すには、ng-クリックが必要ですか?

チェックボックスにng-modelが必要ですか?

痛みが少ない適切な方法は何ですか?

40
Jakub Kuchar

リストはフォームサーバーから取り出されるため、リストが作成されるたびにカテゴリをオーバーライドする必要があります。だから私は配列を持っている必要があり、2番目のものは選択されたオブジェクトを保持しますか?

はい、これは配列を使用できる/使用すべきリストであるためです。選択したアイテム/オブジェクトに関する情報は、スコープモデルに保存する必要があります(下の例を参照)。

正しい場合、チェックボックスを事前に選択するにはどうすればよいですか?

選択したオプション/チェックボックスのIDをモデルに保存し、ng-model残りを行います。

選択したオブジェクトを他の配列に保存するためにカスタム関数を呼び出すには、ng-クリックが必要ですか?

いいえ、必要ありません、ng-modelで十分です。

チェックボックスにng-modelが必要ですか?そして何のために?

はい、必要です。 ng-modelは、選択したオプションをモデルに保存し、(「事前」)選択を自動化する役割を果たします。

jsfiddlehttp://jsfiddle.net/bmleite/PQvQ2/

70
bmleite