vue中组件复用带来的问题

通过数组迭代渲染的同一组件的多个实例,每个实例的状态是不一样的。(比如定位信息:left,top是不一样的)。当把数组中的一个元素删除时,对应的组件实例没有被销毁,而是被重用。给谁用呢?自然是被删除元素的下一个元素。巧的是,组件有些状态信息的设置是一次性的,或者说没有重置的方法。导致结果是,被删元素的下一个元素在界面上有变动,而实际这个数据没有更改。是他的组件实例复用了别人的,还留有别人的信息。这也是vue的预期内的行为。要想避免,就给组件实例加上key属性。这样由于key不一样,vue认为是不可重用的组件,就会销毁后,重新创建。

你可能感兴趣的:(vue.js,前端,javascript)