Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ng blur上,我';m更新绑定到输入的模型,但输入重新使用焦点_Javascript_Angularjs - Fatal编程技术网

Javascript 在ng blur上,我';m更新绑定到输入的模型,但输入重新使用焦点

Javascript 在ng blur上,我';m更新绑定到输入的模型,但输入重新使用焦点,javascript,angularjs,Javascript,Angularjs,当绑定变量发生变化时,我在更新接口焦点时遇到问题。我有一个author对象数组,并使用ngRepeat在输入中显示它们的名称。在输入模糊时,我会执行一个httpRequest来验证名称,如果名称正确,我会从数据库更新整个author对象 模糊功能正常工作,httpRequest也正常工作,但当数据返回并将其分配回模型时,该作者的输入将重新显示焦点 <input type="text" ng-repeat="author in authors" ng-blur="validateName($

当绑定变量发生变化时,我在更新接口焦点时遇到问题。我有一个author对象数组,并使用ngRepeat在输入中显示它们的名称。在输入模糊时,我会执行一个httpRequest来验证名称,如果名称正确,我会从数据库更新整个author对象

模糊功能正常工作,httpRequest也正常工作,但当数据返回并将其分配回模型时,该作者的输入将重新显示焦点

<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调用或返回的数据相关联的内容导致了问题。您所说的“重新分配”焦点是什么意思?我的意思是焦点被放回文本框。