代码之家  ›  专栏  ›  技术社区  ›  marcnewport

更改dom时未销毁Vue组件

  •  1
  • marcnewport  · 技术社区  · 6 年前

    我有一个vue应用程序,可以重新订购和筛选组件列表。

    <div id="my-app">
        <div v-for="item in listItems">
            <my-item v-bind:item="item"></my-item>
        </div>
    </div>
    

    但当我重新排序或筛选列表时,组件不会触发已销毁的事件,我需要向容器中添加一个类并移除其中的图像src。

    1 回复  |  直到 6 年前
        1
  •  3
  •   Decade Moon    6 年前

    如果你不设置 key 在每个项上,Vue将重用现有组件实例,只更改绑定 item .

    你应该设定 钥匙

    <my-item :item="item" :key="item.id">
    

    现在,当从列表中删除特定项时,关联的 <my-item> 组件将被销毁,不再重复使用。