我已经看到很多关于ng-repeat完成的顺序与其他指令或Angular上发生的事情相比的问题,但是我还没有找到答案来确定它是如何完成的.
我有两个关于它如何工作的想法.
第一种方式: 当ng-repeat的观察者触发时,它会删除它从DOM创建的所有元素,然后在它们的位置创建所有新元素,即使这些元素中的许多元素是相同的(例如,在支持数组中添加了1个项目的情况) ).
第二种方式:由于ng-repeat已经跟踪哪些元素与其后备集合中的哪些项目相关,因此它只删除集合中不再存在的项目,并为集合中新增的项目创建新元素.
这是为什么?为什么?
我想弄清楚为什么我的按钮没有排队,我想出来是因为它们的内容大小不同.
这是一个小提琴:https://jsfiddle.net/ktjboox3/
button {
width: 75px;
height: 75px;
}Run Code Online (Sandbox Code Playgroud)
<button>
hello
</button>
<button>
hello <br />
hello
</button>
<button>
hello <br />
hello <br />
hello
</button>Run Code Online (Sandbox Code Playgroud)
您可以看到具有更多内容的按钮具有这种奇怪的上边距但实际上没有实际边距.他们为什么要低一些?似乎要求它们都具有设定的宽度和高度,但我需要所有按钮的大小相同.
要明确的是,即使我当然对我的代码工作感兴趣,我正在寻找的实际答案不是一个代码片段,其中的按钮都排成一行,我想要理解这是在第一个发生的地点.