Javascript 如何在Angular JS中使用ng repeat填充数组
在AngularJS 1.4版中,如何使用特定id的Javascript 如何在Angular JS中使用ng repeat填充数组,javascript,angularjs,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Ng Repeat,在AngularJS 1.4版中,如何使用特定id的ng repeat填充对象数组 { "tagTypeDetails": [ { "id": 3, "type": "Project Type", "Tags": [ {"id": 21, "name": "Residential"}, {"id": 22, "name": "Office"}, {"id": 23, "name": "Retail"}
ng repeat
填充对象数组
{
"tagTypeDetails": [
{
"id": 3,
"type": "Project Type",
"Tags": [
{"id": 21, "name": "Residential"},
{"id": 22, "name": "Office"},
{"id": 23, "name": "Retail"},
{"id": 24, "name": "Hospitality"}
]
},
{
"id": 6,
"type": "Styles",
"Tags": [
{"id": 47, "name": "Scandinavian"},
{"id": 48, "name": "Industrial"},
{"id": 49, "name": "Contemporary"},
{"id": 50, "name": "Minimalistic"},
{"id": 51, "name": "Modern"},
{"id": 52, "name": "Eclectic"}
]
},
{
"id": 9,
"type": "Area",
"Tags": [
{"id": 68, "name": "500-1000 sqft"}
]
},
{
"id": 30,
"type": "Project Budget",
"Tags": [
{"id": 112 ...}
],
...
}
]
}
这是html视图中的数据,我想显示所有
基于特定标签字段的“标签”名称
特定id
我从所有的身份证上得到了姓名标签
示例:
项目类型
//此处将显示所有标记名称//我只想为type=“Project type”指定
{{tag.name}
如果能提供最好的解决方案,我们将不胜感激。。由于我有替代解决方案,但这不是最好的做法,因此我不认为这里有任何填充内容的需要,只要使用
ng显示所需的标记(如果
):
<label ng-repeat="tag in tags.Tags" ng-if="tag.type === 'Project Type'">
如果我正确理解您的问题,您可以使用过滤器。
我就是这样做的
vm.projectTag = {
types: vm.getTags('Project Type'),
styles: vm.getTags('Styles'),
budgets: vm.getTags('Project Budget (S$)'),
areas: vm.getTags('Area')
};
vm.getTags = function (tagName) {
for (var i = 0; i < vm.tagsData.length; i++) {
if (tagName == vm.tagsData[i].type) {
return vm.tagsData[i].Tags;
}
}
return [];
};
<label for="type" class="col-sm-2 control-label x-medium" id="label0">Project Type</label>
<div class="clearfix-height15"></div>
<div class="btn-group col-sm-8" data-toggle="buttons">
<label class="btn btn-default btn-tag" ng-class="{active: tag.checked}" ng-repeat="tag in addProjectVm.projectTag.types"
ng-click="addProjectVm.selectedTags.projectType = tag.id">
<input type="radio" id="projectType" name="projectType" ng-model="tag.checked"> {{tag.name}}
</label>
</div>
vm.projectTag={
类型:vm.getTags('Project Type'),
样式:vm.getTags('styles'),
预算:vm.getTags('projectbudget(S$)'),
区域:vm.getTags('Area')
};
vm.getTags=函数(标记名){
对于(var i=0;i
您所说的特定标签字段id是什么意思?就性能而言,这不是只填充标签的正确方法。。谢谢
vm.projectTag = {
types: vm.getTags('Project Type'),
styles: vm.getTags('Styles'),
budgets: vm.getTags('Project Budget (S$)'),
areas: vm.getTags('Area')
};
vm.getTags = function (tagName) {
for (var i = 0; i < vm.tagsData.length; i++) {
if (tagName == vm.tagsData[i].type) {
return vm.tagsData[i].Tags;
}
}
return [];
};
<label for="type" class="col-sm-2 control-label x-medium" id="label0">Project Type</label>
<div class="clearfix-height15"></div>
<div class="btn-group col-sm-8" data-toggle="buttons">
<label class="btn btn-default btn-tag" ng-class="{active: tag.checked}" ng-repeat="tag in addProjectVm.projectTag.types"
ng-click="addProjectVm.selectedTags.projectType = tag.id">
<input type="radio" id="projectType" name="projectType" ng-model="tag.checked"> {{tag.name}}
</label>
</div>