vue2到vue3常用写法的变化

vue3相比vue2多了setup方法,在setup方法中this是undefined,取值很不方便,因此需要修改之前的写法,常用的有以下几点

  1. setup中使用prop中的值
    在这里插入图片描述
 props: ["tabsItem","activeTab","activeNav"],
        setup(props){
            props.tabsItem=""
        },

如图即可操作prop中的值
2. setup中使用this.$router.push
在这里插入图片描述

  //引入路由函数
    import { useRouter } from "vue-router";
    export default {
        //使用
        setup() {
            //初始化路由
            const router = useRouter();
            router.push({
                path: "/"
            });
            return {};
        },
  1. setup中使用$emit
    在这里插入图片描述
 setup(props,context){
            const router = useRouter();
            //tab点击移除
            function removeTab(targetName) {

                context.emit('giveTabItem',  props.tabsItem)
            }

            return{
                removeTab
            }
        }
  1. reactive 操作数组
    在这里插入图片描述
 setup() {
            const list = reactive({
                arr: [
                    {
                        id: 1,
                        name: 1
                    },
                    {
                        id: 2,
                        name: 2
                    },
                    {
                        id: 3,
                        name: 3
                    },
                ]
            });

            function removeTest() {
                list.arr = [ {
                    id: 1,
                    name: 1
                },
                    {
                        id: 2,
                        name: 2
                    },]
            }

            return {list, removeTest}
        }
  1. img中动态引入图片
<img :src="require('../assets/'+imgUrl)">

其中imgUrl为assets下的图片路径
6. vue3中注册全局组件:

import { createApp } from 'vue'
import PopupWindow from './components/PopupWindow'
import App from "./App.vue"
const app = createApp(App)
app.component('PopupWindow', PopupWindow)

后续本人遇到其他觉得需要添加的操作,会继续更新

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值