我有一个ProgrammeWrapper
,但我在里面有一个数组。因此,当我尝试控制包装器时,以下是我所看到的行为。
当我阅读关于该程序的课程时,它说空数组。任何领先都会很好。这是我正在使用的object
答案 0 :(得分:2)
此行为的原因是在写入日志时生成第一行,但在展开日志时生成下一行。在控制台中运行此代码:
test = {lesson: [1, 2, 3]}; setTimeout(() => test.lesson.push(4), 0); test
这意味着在写入日志后数组会发生更改,因此第一行不会使用新大小进行更新。
此外,每次在日志中展开一条线时,即使进行了进一步的更改,也会评估所有内部值并保持不变。您实际上可以达到以下情况:
Object {lesson: Array(3)}
lesson:Array(4)
0: 1
1: 2
2: 3
3: 4
4: 5
length: 5
__proto__: Array(0)
__proto__: Object