フォームを作成して、angularjs(これは素晴らしいです)をいじっています。json からデータを読み込み、データを正常に読み取ることができますが、作成したプランカーに関していくつか質問があります。( http://plnkr.co/edit/LHX40xHKmoB9onboeNrV?p=preview )
そこには 2 つのフォームがあり、どちらも半分は機能しています。続行する前に、angularjs のプロへのリクエストがあります。どうすれば改善できますか?ありがとう。
とにかく、次のスニペットは 2 つの形式の違いです。
FORM#1:フォームを機能させるために、jsoncountry
から値を取得する
' ' を指定countries
JS :
$scope.vm.country = data[0].countries[0];
HTML:
Country: <select ng-model="vm.country" ng-options="c.name for c in vm.countries"></select>
FORM#2:
この JSON は #2 とは少し異なります。countries
配列は と呼ばれますcountry
。選択オプション expr がそれ自体を参照しています - 失敗しています。ここで提出されたjsonon-click
には、私が求めている国コード/名前の正しい値がありますが、cities
配列も含まれていますが、これは私が望んでいるものではありません。
JS :
$scope.vm.country = data[0].country[0];
HTML:
Country: <select ng-model="vm.country" ng-options="c.name for c in vm.country"></select>
選択ボックスが form2 のように動作している理由を正確に知りたいです。フォームの送信に関しては、無駄なデータを送信することは明らかに望ましくありません。では、必要なものだけを に送信するにはどうすればよい$scope.vm
でしょうか。小さなフォームの場合、各入力を新しい $scope 項目に手動で追加することは問題なく機能しますが、多くの入力を含む巨大なフォームの場合は理想的ではありません。
アップデート
別の変数 ( ) に適切な値が入れられた実用的なソリューションを次に示します$scope.form
。また、$watch
に変更されましたng-change
。これは他の人を助けるかもしれません。