Javascript 在ng blur上,我';m更新绑定到输入的模型,但输入重新使用焦点
当绑定变量发生变化时,我在更新接口焦点时遇到问题。我有一个author对象数组,并使用ngRepeat在输入中显示它们的名称。在输入模糊时,我会执行一个httpRequest来验证名称,如果名称正确,我会从数据库更新整个author对象 模糊功能正常工作,httpRequest也正常工作,但当数据返回并将其分配回模型时,该作者的输入将重新显示焦点Javascript 在ng blur上,我';m更新绑定到输入的模型,但输入重新使用焦点,javascript,angularjs,Javascript,Angularjs,当绑定变量发生变化时,我在更新接口焦点时遇到问题。我有一个author对象数组,并使用ngRepeat在输入中显示它们的名称。在输入模糊时,我会执行一个httpRequest来验证名称,如果名称正确,我会从数据库更新整个author对象 模糊功能正常工作,httpRequest也正常工作,但当数据返回并将其分配回模型时,该作者的输入将重新显示焦点 <input type="text" ng-repeat="author in authors" ng-blur="validateName($
<input type="text" ng-repeat="author in authors" ng-blur="validateName($index)" ng-model="author.name" />
$scope.validateName = function(index) {
$http({
method: 'GET'',
url: 'someUrl',
responseType: 'text',
headers: {
"Content-Type": "application/json; charset=utf-8",
"Authorization": bearer
}
})
.then(function(r) {
$scope.authors[index] = r.data;
});
}
$scope.validateName=函数(索引){
$http({
方法:“获取“”,
url:'someUrl',
responseType:'文本',
标题:{
“内容类型”:“应用程序/json;字符集=utf-8”,
“授权”:持票人
}
})
.然后(函数(r){
$scope.authors[index]=r.data;
});
}
在回调中尝试以下操作
angular.merge($scope.authors[index], r.data);
当分配新对象时,angular可能会丢失引用我刚刚在没有$http调用的情况下测试了它,它工作正常。一定是与API调用或返回的数据相关联的内容导致了问题。您所说的“重新分配”焦点是什么意思?我的意思是焦点被放回文本框。