javascript - 插入数组会导致无限循环

标签 javascript arrays vue.js vuejs2

这是一个存在此问题的jsfiddle,但请小心,因为它包含无限循环,并且如果您打开控制台,会使浏览器选项卡滞后并最终卡住:https://jsfiddle.net/evx1j6yf/1/

数组:

days: [
  "monday",
  "tuesday",
  "wednesday",
  "thursday",
  "friday",
  "saturday"
],

openingDays: []

模板:

{% for day in days %}
    {[ formatDays(day) ]}
{% endfor %}

格式日期:

 formatDays(day) {
     message = translateDays(day);
     openingDays.push(message);
 }

我的期望:我的第二个数组应该填充日期的副本。
我得到的:一个无限循环,在最后一天之后,它会无限重复。

控制台日志:

["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", ...

最佳答案

What i got: an endless loop where after the last day, it just repeats itself ad infinitum.

每当您调用 formatDays 时,它都会导致重新渲染,因为模板中显示的数据正在更改。由于 formatDays 是一种方法,并使用 {{}} 在模板中直接使用,因此每次重新渲染时都会调用它。因此无限循环。

What I expected: My second array should be filled with a copy of the days.

我已经更新了您的fiddle

关于javascript - 插入数组会导致无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50907002/

相关文章:

javascript - Angular 缺失法

javascript - 奇怪的 Express Jade View 缓存行为

javascript - 根据用户输入字符串和菜单下拉项过滤数组

javascript - 仅在某些环境下 Vue 中的字符串长度无效 RangeError

javascript - 如何使用给定的键将字典值添加到 'v-model' ?

javascript - 当我们使用 this.props.history.push ("/next Component"移动到下一个组件时,我们可以传递一个值吗?

javascript - 如何使用具有多种 html 值类型的 jQuery 构造函数

分配和释放数组指针数组的正确方法

c - 高效的 C 池分配器?

javascript - 在Vue js中,如何分配在页面重新加载时不会重置的唯一ID