Javascript angularJS-遍历JSON对象
我有一个名为znanja的嵌套JSON“对象”,我想在我的网页上显示它。它将包含许多我想放入列表中的值。基本上,我正在建立一个投资组合,并希望列出我的技能。到目前为止,我已经成功地显示了标题和整个对象,或者通过调用一个特定的对象(例如Javascript angularJS-遍历JSON对象,javascript,angularjs,json,angularjs-ng-repeat,Javascript,Angularjs,Json,Angularjs Ng Repeat,我有一个名为znanja的嵌套JSON“对象”,我想在我的网页上显示它。它将包含许多我想放入列表中的值。基本上,我正在建立一个投资组合,并希望列出我的技能。到目前为止,我已经成功地显示了标题和整个对象,或者通过调用一个特定的对象(例如{{znanje.ena}}),但是我不知道在没有属性名的情况下如何显示它们。如果我只调用{{znanje}},我会像JSON一样列出它们。我可以用angularJS指令来做这件事吗?我是个新手,所以非常感谢你的帮助 我的看法是: <div ng-repeat
{{znanje.ena}}
),但是我不知道在没有属性名的情况下如何显示它们。如果我只调用{{znanje}}
,我会像JSON一样列出它们。我可以用angularJS指令来做这件事吗?我是个新手,所以非常感谢你的帮助
我的看法是:
<div ng-repeat="skill in skills">
<h1>{{ skill.title }}</h1>
<p ng-repeat="znanje in skill.znanja">{{ znanje }}</p>
</div>
PS:为了能够在html中调用它们,我将znanja属性命名为ena、dva、tri、stiri,而不是1、2、3、4
可以让ngRepeat迭代
对象使用以下语法:
。。。
可以让ngRepeat迭代
对象使用以下语法:
。。。
为了显示属性,您需要一个DOM元素,并且DOM元素需要一个特定的值来呈现,因此您必须至少手动一次迭代,具体调用属性。 然而,如果你有任何重复,你可以像以前一样使用ng repeat将其包括在内
也就是说,如果您希望单独显示html页面上的每个属性,然后希望访问它,但是如果您只想显示为json对象,则只需传递json即可,以便显示属性,您需要一个DOM元素,而DOM元素需要一个特定的值来呈现,以便必须至少为一次迭代手动调用属性。 然而,如果你有任何重复,你可以像以前一样使用ng repeat将其包括在内
也就是说,如果您想单独显示html页面上的每个属性,然后想访问它,但是如果您只想显示为json对象,这将与传递json一样简单,那么要应用循环的对象只不过是
znanja
数组中的第一个元素,因此,您应该指定skill.znanja[0]
,而不是skill.znanja
通过执行此操作,ng repeat
将迭代对象的每个属性,{{znanje}
将打印znanja[0]
标记
<div ng-repeat="skill in skills">
<h1>{{ skill.title }}</h1>
<p ng-repeat="znanje in skill.znanja[0]">{{ znanje }}</p>
</div>
{{skill.title}}
{{znanje}
要应用循环的对象只不过是znanja
数组中的第一个元素,因此应该指定skill.znanja[0]
,而不是skill.znanja
通过执行此操作,ng repeat
将迭代对象的每个属性,{{znanje}
将打印znanja[0]
标记
<div ng-repeat="skill in skills">
<h1>{{ skill.title }}</h1>
<p ng-repeat="znanje in skill.znanja[0]">{{ znanje }}</p>
</div>
{{skill.title}}
{{znanje}
{{skill.title}}
{{key}}:{{value}
{{skill.title}}
{{key}}:{{value}
(已测试)结合了znanja对象0和值:
<div ng-repeat="skill in skills">
<h1>{{ skill.title }}</h1>
<p ng-repeat="(key, value) in skill.znanja[0] ">{{ value }}</p>
</div>
{{skill.title}}
{{value}
(已测试)结合了znanja对象0和值:
<div ng-repeat="skill in skills">
<h1>{{ skill.title }}</h1>
<p ng-repeat="(key, value) in skill.znanja[0] ">{{ value }}</p>
</div>
{{skill.title}}
{{value}
解决此问题的最简单、最好的方法是更改数据结构。只需删除迭代列表周围的换行数组,将它们转换为对象映射:
$scope.skills = [
{
title: "Code Knowledge",
znanja : {
ena : "Javascript",
dva : "HTML",
tri : "CSS",
stiri : "SASS"
}
},
{
title: "Base Code Knowledge",
znanja : {
ena : "Java",
dva : "PhP"
}
},
{
title: "Data",
znanja : {
ena : "MongoDB",
dva : "MySQL"
}
}
];
如果您不打算以任何方式使用该数组(所有示例仅包含一个元素),那么就没有理由将其放在那里
没有必要以这种方式更改原始ng中的任何内容。解决此问题的最简单和最好的方法是更改数据结构。只需删除迭代列表周围的换行数组,将它们转换为对象映射:
$scope.skills = [
{
title: "Code Knowledge",
znanja : {
ena : "Javascript",
dva : "HTML",
tri : "CSS",
stiri : "SASS"
}
},
{
title: "Base Code Knowledge",
znanja : {
ena : "Java",
dva : "PhP"
}
},
{
title: "Data",
znanja : {
ena : "MongoDB",
dva : "MySQL"
}
}
];
如果您不打算以任何方式使用该数组(所有示例仅包含一个元素),那么就没有理由将其放在那里
无需对原始ng中的任何内容进行更改。请重复该方法。应注意这是一个javascript对象,而不是json对象。应注意这是一个javascript对象,而不是json对象。