わかりました、私はこれを理解したと思いますが、@ValentynShybanov と @asgoth に感謝します。
angularjs の例によると、ngModel は、ドロップダウン ポピュレーションで使用される配列のオブジェクトの 1 つで初期化されます。したがって、配列は次のようになります。
$scope.locations = [{ state: 'FL', city: 'Tampa'}, {state: 'FL', city: 'Sarasota'} ....];
ドロップダウンは次のように定義されます。
<select ng-options="l.state group by l.city for l in locations" ng-model="city" required></select>
$scope.city は次のように初期化されます。
$scope.city = $scope.locations[0];
これまでのところとても良いですよね?!!!!..しかし、複数の場所があるため、複数のドロップダウンがあります。また、ユーザーはさらに追加/削除できます。テーブルを動的に作成するようなものです。また、データストアからデータをロードする必要がありました。
同様の値を作成して割り当てていましたが (例: データ ストアからの値 --> State = FL, City = Tampa; したがって --> { state : 'FL', city : 'Tampa' })、angularjs はそうではありませんでした。値を一致させることができます。{city : 'Tampa'} or 'Tampa' or and or and or...
だから私がしたこと..そして私が知っているのは、ちょっと厄介なことですが、これまでのところうまくいきます.. $scope.locationsから値を返すルックアップ関数を書くことです. したがって、私は持っています:
$scope.lookupLocation = function(state, city){
for(var k = 0; k < $scope.locations.length; k++){
if($scope.locations[k].state == state && $scope.locations[k].city == city)
return $scope.locations[k];
}
return $scope.locations[0]; //-- default value if none matched
}
したがって、データストアからデータ (json 形式のデータ) をロードするときは、次のように lookupLocation 関数を呼び出します。
$scope.city = $scope.lookupLocation(results[indexFromSomeLoop].location.state, results[indexFromSomeLoop].location.city);
そして、データをロードするときに値を事前に選択します。これが私のために働いたものです。
ありがとう