Javascript 使用angularjs删除对象属性

Javascript 使用angularjs删除对象属性,javascript,angularjs,Javascript,Angularjs,因此,我正在使用angularjs进行一个项目。我的项目的目标是使用angularjs制作一个动态json生成器。我制作了第一个版本。但是,我的应用程序存在一个小问题。当用户输入某个内容时,输入会自动推送到我的对象,并使用as键。当用户改变主意并清除输入表单时,即使表单为空,密钥也会保留。那么,有人知道如何解决此问题吗 这是我的html: 吉文纳姆: 家庭名称: 性别: 国籍: 适用于: 职位名称: 网址: 图像: 你的JSON {{output}json} 使用delete操作符 您的c

因此,我正在使用angularjs进行一个项目。我的项目的目标是使用angularjs制作一个动态json生成器。我制作了第一个版本。但是,我的应用程序存在一个小问题。当用户输入某个内容时,输入会自动推送到我的对象,并使用as键。当用户改变主意并清除输入表单时,即使表单为空,密钥也会保留。那么,有人知道如何解决此问题吗

这是我的html:


吉文纳姆:

家庭名称:
性别:
国籍:
适用于:
职位名称:
网址:
图像:
你的JSON {{output}json}
使用
delete
操作符

您的
changeKeyValue
函数应该如下所示:

函数changeKeyValue(){
for(变量键在$scope.person中){
if($scope.person.hasOwnProperty(key)){
如果($scope.person[key]){
$scope.output[“@graph”][0][”模式:“+key]=$scope.person[key];
}
否则{
删除$scope.output[“@graph”][0][”架构:“+key]
}
}			
}

}
在changeKeyValue函数中添加一条if语句,检查属性值是否为空,如果为空,则删除该键

演示

角度模块(“手表”,[]) .controller(“ctrl”,函数($scope){ $scope.output={ “@context”:{ “架构”:http://schema.org/" }, “@graph”:[{ “@id”:“人”, “@type”:“schema:Person”, }] }; $scope.person={}; 函数changeKeyValue(){ for(变量键在$scope.person中){ if($scope.person.hasOwnProperty(key)){ if(!$scope.person[key].length){ 删除$scope.output[“@graph”][0][”架构:“+key]; }否则{ $scope.output[“@graph”][0][”模式:“+key]=$scope.person[key]; } } } } $scope.change=函数(){ changeKeyValue(); } });

吉文纳姆:

家庭名称:
性别:
国籍:
适用于:
职位名称:
网址:
图像:
你的JSON {{output}json}
if(!$scope.person[key].length){
    delete $scope.output["@graph"][0]["schema:" + key];
} else {
    $scope.output["@graph"][0]["schema:" + key] = $scope.person[key];
}