Vue中v-for循环第一个参数为_的含义是什么?
问题
在Vue代码中,v-for="(_, tab) in tabs"里的第一个参数_是什么含义?相关代码如下:
<script setup> import Home from './Home.vue' import Posts from './Posts.vue' import Archive from './Archive.vue' import { ref } from 'vue' const currentTab = ref('Posts') const tabs = { Home, Posts, Archive} </script> <template> <div class="demo"> <button v-for="(_, tab) in tabs" :key="tab" :class="['tab-button', { active: currentTab === tab }]" @click="currentTab = tab" > {{ tab }} </button> <component :is="tabs[currentTab]" class="tab"></component> </div> </template>
回答
在Vue的v-for遍历对象时,参数顺序是**(值, 键, 索引)**。这里的_是个占位符,用来表示我们不需要用到的「对象的值」(也就是tabs里的各个组件实例),只需要获取第二个参数「对象的键」(Home、Posts、Archive这些字符串)来渲染按钮文本和绑定点击事件。
用_做占位符是JS里的惯例,明确表示这个变量是我们故意忽略、不会使用的,既能避免未使用变量的警告,也让代码意图更清晰——我们只关心对象的键,不关心对应的值。
内容的提问来源于stack exchange,提问作者Amrmsmb
相关产品推荐
相关产品推荐

