Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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 angularJS-遍历JSON对象_Javascript_Angularjs_Json_Angularjs Ng Repeat - Fatal编程技术网

Javascript angularJS-遍历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

我有一个名为znanja的嵌套JSON“对象”,我想在我的网页上显示它。它将包含许多我想放入列表中的值。基本上,我正在建立一个投资组合,并希望列出我的技能。到目前为止,我已经成功地显示了标题和整个对象,或者通过调用一个特定的对象(例如
{{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对象。