在 Vue SFC 中获取循环键
Get Loop Key Inside Vue SFC
给定以下循环组件:
<MyComponent v-for="(item, i) in items" :key="i" :item="item" />
如何在 MyComponent
中获取 key
的值,显然 key
是一个保留字,因此它不能作为 prop 使用。
将其作为声明的道具传递(例如:index
):
<MyComponent v-for="(item, i) in items" :key="i" :item="item" :index="i" />
MyComponent.vue:
export default {
props: {
index: Number
}
}
旁注:建议您 key
使用唯一标识符(例如:id
)列出列表,而不是基于它们在列表中的位置。例如,如果任何项目被替换或更新,Vue 可能不会 re-render,因为项目在数组中的位置没有改变,即使项目本身已经改变。
这就是当您按索引键控项目时列表转换不起作用的原因。
但是,如果您的项目不改变位置 and/or 则不会更新,index
因为 key
会完成这项工作。
给定以下循环组件:
<MyComponent v-for="(item, i) in items" :key="i" :item="item" />
如何在 MyComponent
中获取 key
的值,显然 key
是一个保留字,因此它不能作为 prop 使用。
将其作为声明的道具传递(例如:index
):
<MyComponent v-for="(item, i) in items" :key="i" :item="item" :index="i" />
MyComponent.vue:
export default {
props: {
index: Number
}
}
旁注:建议您 key
使用唯一标识符(例如:id
)列出列表,而不是基于它们在列表中的位置。例如,如果任何项目被替换或更新,Vue 可能不会 re-render,因为项目在数组中的位置没有改变,即使项目本身已经改变。
这就是当您按索引键控项目时列表转换不起作用的原因。
但是,如果您的项目不改变位置 and/or 则不会更新,index
因为 key
会完成这项工作。