【问题标题】:How to access array indexes to do ordered prints with angular?如何访问数组索引以使用角度进行有序打印?
【发布时间】:2018-08-29 14:13:38
【问题描述】:

来自 json 数组,类似于:

[{title: 'title1',
details: [{text: 'text1'},
    {code: 'code1'},
    {text: 'text2'},
    {code: 'code2'}, 
    {array: array1}]
...
},
{{title: 'title2',
details: [{text: 'text1'},
    {text: 'text2'},
    {array: array1},
    {code: 'code1'}, 
...

我想打印 3 种不同类型的数据:文本、数组和代码。 文本任何问题,数组与

<table> 

和代码使用highlight module

<pre><code highlight [code]="..."></code></pre>

那么,我的第一个打印应该是:

text1
code1 in code style
text2
code2 in code style
array1 in array style

第二个:

text1
text2
array1 in array style
code1  in code style

我对使用 *ngfor 循环和 ngif 有一些想法,但是如何访问键文本、表格和代码来执行 ngif? 或者如果您看到更简单的解决方案?...

【问题讨论】:

  • 到目前为止你尝试过什么?为什么不满意?
  • 这是一个很好的 order-keys 问题,请再读一遍 ;)
  • 类似这样的...stackblitz.com/edit/…
  • 非常感谢 Ashish Ranjan :) 感谢理解我(至少不是 3 个人......)并感谢帮助我。明天我会尝试调整您的解决方案,但看起来不错。我注意到你使用钥匙的聪明技巧,太好了! :)

标签: arrays json angular key


【解决方案1】:

首先你有无效的数组,在第一个元素上,它有重复的键code。您应该使用 1 个键作为 code,然后将所有代码的对象放在该索引上。但是,如果这只是一个示例,并且您拥有正确的数组和对象语法,那么请使用 *ngFor 来迭代您的数组。

<div *ngFor="let elem of yourArray;" >

<p class="text">{{elem.text}}</p>

<pre><code highlight [code]={{elem.code}}></code></pre>

<!-- And it goes with all the elements you want to display. -->

</div>

【讨论】:

  • 不,这不仅仅是一个例子。我这样做是因为这里的顺序很重要:text-code-texte-code-array 然后是 text-text-array-code。我知道我有一个无效的数组,但是如何尊重良好的秩序?
  • 您的问题根本无法理解。首先去用清晰简单的文字编辑你的问题。然后提供足够的信息,说明您想要什么以及您尝试了什么,我会根据您的问题可读性尽力回答。编辑它,我会根据你的问题编辑我的答案。
猜你喜欢
  • 2019-08-26
  • 2022-01-05
  • 1970-01-01
  • 2017-10-23
  • 1970-01-01
  • 1970-01-01
  • 2018-06-09
  • 1970-01-01
  • 2021-02-13
相关资源
最近更新 更多