这是我的html代码:
<table>
<tr ng-repeat="park in parkOptions.parks">
<td>
<label for="{{park.park_id}}">
<input id="{{park.park_id}}" type="radio" name="connection" ng-model="$parent.currentPark" value="{{park.park_id}}" ng-click="selectValue('park',park)"/>{{park.park_name}}
</label>
</td>
</tr>
</table>
我如何观看模型中的更改(我的意思是,当我单击单选按钮时,我想在$ watch中看到另一个公园)
最佳答案
我有一个工作版本可以帮助您-Fiddle。
的HTML
<div ng-app ng-controller="ParentCtrl">
<div ng-controller="ChildCtrl">
<table>
<tr ng-repeat="park in parkOptions.parks">
<td>
<label for="{{park.park_id}}">
<input id="{{park.park_id}}" type="radio" name="connection" ng-model="parkOptions.currentPark" value="{{park.park_id}}" ng-click="selectValue(park)"/> {{park.park_name}}
</label>
</td>
</tr>
</table>
</div>
</div>
JS
function ParentCtrl($scope) {
}
function ChildCtrl($scope) {
$scope.parkOptions = {};
$scope.parkOptions.parks = [
{park_id: '01', park_name: 'England Park'},
{park_id: '02', park_name: 'France Park'}
];
$scope.$watch('parkOptions.currentPark', function(newValue) {
if (newValue != undefined) {
console.log(newValue);
}
});
}
这可能并不是您想要的(我在您的代码中看到$ parent),但是我们可以通过您的任何进一步信息来找到正确的解决方案。
我不使用$ parent而是喜欢发送和接收事件。
关于angularjs - 如何观看ng-repeat中包含的ng-model?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28295150/