Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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 仅获取第一级对象_Javascript_Angularjs_Angular Ngmodel - Fatal编程技术网

Javascript 仅获取第一级对象

Javascript 仅获取第一级对象,javascript,angularjs,angular-ngmodel,Javascript,Angularjs,Angular Ngmodel,当用户选择选项时,我通过打印在页面上的选择框选择对象 但是,它当前打印父对象和嵌套在父对象中的所有其他对象 我的数组示例 $scope.productsandformats = [ { "Pname": "parent", "format": [ {"Fname": "child", "id": "4"}, {"Fname": "second

当用户选择选项时,我通过打印在页面上的选择框选择对象

但是,它当前打印父对象和嵌套在父对象中的所有其他对象

我的数组示例

$scope.productsandformats = [
     {
                "Pname": "parent",
                "format": [
                    {"Fname": "child", "id": "4"},
                    {"Fname": "second child", "id": "5"}
                ]
            }
];
我的角度和html选择框

<select ng-model="formData.ProductType"
        ng-options="product.Pname for product in productsandformats">
     <option value="">- Please Choose -</option>
</select>

<pre class="col-sm-12 ng-binding">
   {{ formData }}
</pre>

您可以像这样访问第一级对象

<div ng-repeat='p in formData.productType'>
{{p.pname}}
</div>

{{p.pname}}

如果您阅读了上的文档,您可以使用
选择为
指定在
ngModel上设置的was对象

对于第二次选择,我建议在第一次选择上使用
ng change
,将该对象存储在范围上的另一个变量中,您可以使用该变量进行第二次选择

var myApp=angular.module('myApp',[]);
函数MyCtrl($scope){
$scope.productsandformats=[{
“Pname”:“父项”,
“格式”:[{
“Fname”:“child”,
“id”:“4”
}, {
“Fname”:“第二个孩子”,
“id”:“5”
}]
}];
$scope.formats=[];
$scope.productTypeChange=函数(){
$scope.formats=$scope.productsandformats.find(ps=>ps.Pname==$scope.formData.ProductType.Pname);
}
}

-请选择-
-请选择-
{{formData}}

这是JSON而不是Jason…这与JSON(或Jason)没有任何关系。是的,我代表我的拼写错误感谢你看到了这一点,我怎么会认为对一个简单的拼写错误投反对票有点多呢?投反对票的可能性很小,因为你用Jason代替了JSON。看到了吗?你有一个对象数组。它不是JSON(可能是一个字符串)。看起来不错,需要花费几分钟的时间为我的代码修改它,因为我有两个选择框,第二个根据第一个选择填充+1作为链接和信息。@Beep好的,我已经编辑了代码,如果您想将其输出为
{“ProductType”:“parent”}
,那么这很快。我现在会尝试更新我的代码,thanks@Beep请参阅我的编辑。下次请发布您的全部问题。@Beep这不是问题,您可能需要重新查看我发布的代码,因为我注意到第一个选择框没有正确跟踪。谢谢,我下班后会的:)希望你也喜欢你的。
<div ng-repeat='p in formData.productType'>
{{p.pname}}
</div>