【发布时间】: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