如何使用AngularJs为对象中的不同属性实现ng repeat?

如何使用AngularJs为对象中的不同属性实现ng repeat?,angularjs,Angularjs,这是我的阵列 $scope.fieldsInfo=[]; $scope.fieldsInfo=[ { “标签”:“发件人”, “必需”:false, “isArray”:错, “类型”:[ { “标签”:“名称”, “类型”:“字符串”, “必需”:false } { “标签”:“电子邮件”, “类型”:“字符串”, “必需”:true } ] }, { “标签”:“至”, “必需”:正确, “isArray”:没错, “类型”:[ { “标签”:

这是我的阵列

$scope.fieldsInfo=[];
$scope.fieldsInfo=[
{ 
“标签”:“发件人”,
“必需”:false,
“isArray”:错,
“类型”:[
{
“标签”:“名称”,
“类型”:“字符串”,
“必需”:false
}
{
“标签”:“电子邮件”,
“类型”:“字符串”,
“必需”:true
}                     
]
},
{ 
“标签”:“至”,
“必需”:正确,
“isArray”:没错,
“类型”:[
{
“标签”:“名称”,
“类型”:“字符串”,
“必需”:false
}
{
“标签”:“电子邮件”,
“类型”:“字符串”,
“必需”:true
}                       
]
},
{ 
“标签”:“主题”,
“必需”:正确,
“isArray”:错,
“类型”:“字符串”
},
{ 
“标签”:“文本”,
“必需”:正确,
“isArray”:错,
“类型”:“字符串”
},
{ 
“标签”:“html”,
“必需”:正确,
“isArray”:错,
“类型”:“字符串”
}

]
只需将
angular.isArray
绑定到作用域,并将其用作任何其他函数。 例如:
$scope.isArray=angular.isArray

现在,您可以在html模板中使用它:

<div ng-if="isArray(field.type)==true" ng-repeat="nestedField in field.type">
    ... your content ...
</div>

... your content ...

<div ng-if="isArray(field.type)==false">
    ... your content ...
</div>

... 你的内容。。。
... 你的内容。。。
... 你的内容。。。

angular.i未使用阵列视图, 运行以下代码:

<div class="form-group padtb5">
<div ng-repeat="field in fieldsInfo">
    <div class="col-lg-12 col-sm-12 col-xs-12 mart5">
        <div class="">
            <div class="col-lg-4 col-sm-4 col-xs-12">
                <label class="control-label">{{field.label}}*</label>
            </div>
            <div ng-if="field.isArray" ng-repeat="nestedField in field.type">
                <div class="col-lg-4 col-sm-4 col-xs-12">
                    <label class="control-label">{{nestedField.label}}*</label>
                </div>
                <div class="col-lg-3 col-sm-2 col-xs-12 marl15">
                    <input type="text" class="form-control" ng-model="field.objectFieldName" />
                </div>
                <div class="col-lg-2 col-sm-2 col-xs-12 marl15">
                    <a ng-click="addMappedItem($index,'required',field)">Map</a>
                </div>
            </div>
            <div ng-if="!field.isArray">
                <div class="col-lg-3 col-sm-2 col-xs-12 marl15">
                    <input type="text" class="form-control" ng-model="field.objectFieldName" />
                </div>
                <div class="col-lg-2 col-sm-2 col-xs-12 marl15">
                    <a ng-click="addMappedItem($index,'required',field)">Map</a>
                </div>
            </div>
    </div>
    <div class="clearfix"></div>
</div>

{{field.label}*
{{nestedField.label}*
地图
地图

我们真的必须这样结束标签吗?你是说
标签吗?不,我只是出于表面的原因添加了它。@syedfaizan我编辑了我的答案,希望能让它更清楚。谢谢你,伙计,事实上我认为错误的条件是第一个div的结束标记,我的坏。没有在同一行中看到结束标记,很抱歉,我知道,但是如何检查属性是否为数组