Angularjs 从ngClick间接更新ngModel的问题

Angularjs 从ngClick间接更新ngModel的问题,angularjs,angularjs-controller,angularjs-ng-click,Angularjs,Angularjs Controller,Angularjs Ng Click,我有一个ngRepeat,用于填充客户列表,如下所示: <div ng-repeat="terr in terrData.data"> <div class="customer-row" ng-click="clickCustomerSelect(terr)"> <input class="customer-radio" type="radio" name="customer-select" ng-model="selectedCustome

我有一个ngRepeat,用于填充客户列表,如下所示:

<div ng-repeat="terr in terrData.data">
    <div class="customer-row" ng-click="clickCustomerSelect(terr)">
        <input class="customer-radio" type="radio" name="customer-select" ng-model="selectedCustomerRow" value="{{terr.customerID}}">
        <div class="contact-data-column">{{terr.custNm}}</div>  
        <div class="primaryphone-data-column">{{terr.primaryPhone}}</div>
        <!-- other customer data -->
    </div>
</div>
$scope.clickCustomerSelect = function(customer){
    $scope.selectedCustomerRow = customer.customerID.toString();
    //Other business logic
};
我看到,每当单击customer行(而不是单选按钮)时,模型都会得到正确更新,并检查与该值对应的单选按钮。请注意,这是预期的功能

我看到的问题是,如果手动选中单选按钮(即不单击行),模型将不再响应单击行的更新

我想知道,一旦你选择单选按钮,你是否会超出角度范围

编辑:示例模型

terrData.data = [{
    "customerID": 1,
    "companyName": "Name 1",
    "custNm": "Blank",
    "primaryPhone": "111-111-1111"
}, {
    "customerID": 2,
    "companyName": "Name 2",
    "custNm": "Blank",
    "primaryPhone": "111-111-1112"
}, {
    "customerID": 3,
    "companyName": "Name 3",
    "primaryPhone": "111-111-1113"
}];
替换为:

 $scope.selectedCustomerRow = customer.customerID;
单击后,将其设置为selectedCustomerRow

在HTML中

 <input class="customer-radio" type="radio" name="customer-select" ng-model="selectedCustomerRow" value="{{terr.customerID}}">

替换为:

  <input class="customer-radio" type="radio" name="customer-select" ng-model="$parent.selectedCustomerRow" value="{{terr.customerID}}">


您的问题可能是:


简短回答:
ng模型
几乎总是需要一个点

请在控制器中添加您的
terrData
模型此演示完美地显示了问题。选择单选按钮,然后再次尝试通过单击功能选择行。单选按钮将停止选择。单击A的单选按钮,然后单击B的文本,然后单击A的文本。单选按钮将不再从A文本中选择。
  <input class="customer-radio" type="radio" name="customer-select" ng-model="$parent.selectedCustomerRow" value="{{terr.customerID}}">