約 100 の質問を含むフォームがあり、それぞれにラジオといくつかのチェックボックスがあるため、ユーザーがフォームを保存して後でロードできるようにする必要があります。このセッションでユーザーが変更したものも確認する必要があります。
この質問は問題を解決します:どの入力フィールドが AngularJS で変更されたかをどのように示すことができますか?
2 番目の答え (モデルの古い値と現在の値を保存し、両方を比較する) がそれを行います。ただし、 $pristine ソリューションを使用したい場合は、問題があります。ng-checked ボックスのチェックを外しても、その $pristine 値は変更されません。$pristine の値は、チェックを外した後に再度チェックを入れることによってのみ false になります。
ng-check で ng-model を使用することは想定されていませんが、サーバーから 1 または 0 の値で回答を取得します。モデルとして使用されるこの値は、チェックボックスをチェックしません。
ng-model="question.answer" //will not check the box
ng-check="question.answer" //does check the box
値はサーバーから 1 として取得されます。チェックボックスをオフにしてオンにすると、「true」に変わります
<input ng-model="question.answer" ng-checked="question.answer"
type="checkbox" name="{{'answer' + question.id}}"/>
plnkr はこちら: http://plnkr.co/edit/3xcI0Yq9WPZ1IxJJjKGt?p=preview