Angularjs 从ngClick间接更新ngModel的问题
我有一个ngRepeat,用于填充客户列表,如下所示: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
<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}}">