这是我的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/

10-08 21:13