angularを使用して無線入力を繰り返すHTMLコードがあります。
現在持っている機能を示す plunkr を作成しました。
http://plnkr.co/edit/n5OZVlbiwToHsuvGN3QI
繰り返しコードは、トップ レベルのスコープにキャプチャする必要がある変数にバインドされます。($parent.selectedType および $parent.selectedSpecies)
コードは HTML ドキュメントで正しく表示されますが、ng-model からのデータ バインディングは機能しません。
したがって、次のように $scope.$watch コマンドを設定しました。
$scope.$watch('type.selected', function (newVal, oldVal) {
$scope.type.selected.forEach(function (typeName) {
if (typeName === newVal) {
$scope.selectedType = $scope.type.selected;
}
});
});
typeName 変数の変更を監視し、変更されたら $scope.selectedType をラジオ ボタンで選択したものに設定します。
ただし、このコードを実行しようとすると、 $scope.$watch 部分が型定義の直後にあるにもかかわらず、「型が未定義です」というメッセージが表示され続けます。
$watch しようとすると型が未定義になるのはなぜですか?
編集:問題はより深刻でした-それは、 $scope.type.selected.forEach() が認識される関数ではないという事実に由来します。forEach() は関数である必要がありますが、何か不足していますか?