Extraneous non-emits event listeners (close) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only
1.如果使用vue2 子组件的暴露给父组件的写法会报这个警告。需要在vue3的写法,在emits中提前声明。
//vue2
this.$emit('close')
//修改
export default {
name: 'popup',
emits: ['close'],
methods: {
close() {
this.$emit('close')
},
}
}
2.在v-for的使用中,绑定item到函数传参,但是获得的参数为undefined
<view class="img">
<image @click="previewImage(item)" v-for="(el,i) of item.picUrl" :key="i" :src="el" mode="widthFix"></image>
</view>
这个时候会发现传的数据为undefined,此时改为箭头函数的调用即可:
<view class="img">
<image @click="()=>previewImage(item)" v-for="(el,i) of item.picUrl" :key="i" :src="el" mode="widthFix"></image>
</view>
3.自定义tabbar会出现闪屏跳动闪烁等体验很差的感觉,原因是每个页面都引入tabbar每次都亚奥要重新渲染,网上查了很多方法都不是很理想,推荐使用组件形式,将5个tabbar页面引入一个页面来完成。