Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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模型将从对象中删除元素_Javascript_Angularjs - Fatal编程技术网

Javascript 如果值为空,ng模型将从对象中删除元素

Javascript 如果值为空,ng模型将从对象中删除元素,javascript,angularjs,Javascript,Angularjs,我正在使用$resource服务访问和更新API上的资源 但是,当绑定到ng模型的对象的值设置为空时,我遇到了一个问题。绑定元素将从对象中删除。因此,在保存资源时,传递的数据上不存在元素 angular.module('myApp', []) .controller('myCtrl', function($scope, $resource) { var Person = $resource('persons/:id.json', {id: @id}); $scope.data =

我正在使用$resource服务访问和更新API上的资源

但是,当绑定到ng模型的对象的值设置为空时,我遇到了一个问题。绑定元素将从对象中删除。因此,在保存资源时,传递的数据上不存在元素

angular.module('myApp', [])

.controller('myCtrl', function($scope, $resource) {
   var Person = $resource('persons/:id.json', {id: @id});

   $scope.data = Person.get({id:123});
});
例如:data.name在以下模板中设置为“”:

<div ng-controller="myCtrl">
   <input type="text" ng-model="data.name" />

   <input type="button" ng-click="data.$save()" value="Save" />
</div>


保存时,我需要传递数据上的元素,因为它将确定API是否将属性的实际值设置为空。否则,属性将不会更新,并保留其旧值。

如果任何人遇到相同的问题,问题不在于ng模型,而在于我作为输入的一部分添加的验证

<input type="text" ng-model="data.name" ng-required="true" />


它不是上述问题所示代码的一部分,但与所需ng相关

这是不可能的。如果未设置值,则
模型
值将
为空
('')或
为空
未定义
。你能告诉我们你在哪里面临这样的问题吗?你可以添加ng模型选项=“{allowInvalid:true}”,这样空元素就不会被删除。