【问题标题】:Looping item based on the value of array inside a angular html loop基于角度html循环内的数组值循环项目
【发布时间】:2019-04-11 12:26:26
【问题描述】:

所以我有一个奇怪的问题(或者可能只是说我的逻辑问题)关于如何在 angular html 中循环一个项目,而不是数组的值必须通过(键)访问 0 - 1 - 2 之类的东西做这样的事情 2 - 0 - 1

我只会附上stackblitz example here,我不知道为什么会这样,但有些地方不对。我可能想错了

【问题讨论】:

  • 您能否提供更多关于您的示例无法正常工作的详细信息?我打开了你的例子,所有的数字似乎都是有序的。
  • 在示例中,一个(单词)的计数必须为 0 , 1 , 2 而不是 0 , 1 , 2 , 3 ,4 因为函数 getData() 将获取对象的索引数组并根据对象的索引指向数组的值,并将一些数字推送到arrayCbox以获取长度并将反映到html。部分来自 html 的输出是错误的,因为数组的索引 0 必须是 3,所以输出必须从 0 开始,2 而不是从 0,4 开始
  • 我很难理解你的例子,因为getData 非常奇怪。它会在每次调用时随时更改组件变量,这反过来可能会破坏嵌套的 ngFor。你期望在屏幕上打印什么?我建议您不惜一切代价避免从 HTML 调用具有副作用的函数。你只是在给你的程序带来麻烦和复杂性。
  • @Badashi 所以预期的输出一定是这样的这。 “我建议您不惜一切代价避免从 HTML 调用具有副作用的函数”我会注意这一点。但对于我的情况,我需要它还是有一些像 (loop) 这样的方法会接受一个数字并循环它取决于对象值的数量
  • 这里的主要问题是你有一个arrayCbox 变量,从某种意义上说,它对你的组件来说是全局的。但是,每次调用getData 都会改变arrayCbox - 并且无法保证您的ngFors 的每个内部循环都拥有正确的arrayCbox。相反,您应该有一些方法为someObjectArray 的每个不同元素构建您的arrayCbox。也许如果您向我们展示您要解决的问题,我们可以找到一种不同的方法来解决它。

标签: arrays angular typescript ionic-framework


【解决方案1】:

我刚刚解决了我的问题,而不是做我做的那个复杂的事情

在 HTML 中

        <ion-item *ngFor="let item of checkNumReq(arraySentences[ind]); let in = index;">
          {{index}}
        </ion-item>

在 TS 文件中

  checkNumReq(num_req:any){
    return new Array(num_req);
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多