我有一些 HTML 代码,我在其中使用 angular 来重复无线电输入。
我创建了一个 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() 应该是一个函数,我错过了什么吗?