• 在vue2项目中使用vue3语法


    在vue2项目中想要使用vue3语法怎么办呢?引入@vue/composition-api 依赖

    npm install @vue/composition-api 

    main文件引入并使用

    import Vue from 'vue'
    import VueCompositionApi from '@vue/composition-api'
    
    Vue.use(VueCompositionApi)
    • 在setup中使用refs获取节点:
    cons root = ref () ; //root必须与ref名称一致
    onMounted(()=>{
    console.log(root.value);
    })

    注意点:root名称必须与暴露的ref名称一致且return导出

    • 使用父子传值props和emit ,举个栗子。使用弹框组件,设定打开和关闭

    父组件:

      <add-operate :showDialog.sync="showDialog" />

    子组件接收:

    页面template部分直接使用showDialog。

        props: {
            showDialog: {
                type: Boolean,
                default: false
            }
        },
        setup(props, { emit }) {
            function cancel() {
                emit('update:showDialog', false);
            };
            return {
                cancel
            }
        },

    在vue中传值为对象,需要使用reactive{data:{****}},对data进行赋值,因为proxy对属性进行代理,直接赋值视图不生效。

    或者可以采用ref({}),赋值:.value=** 直接赋值

    赋值时:

    ref定义的变量需要.value=****,但是如果不是赋值,直接使用。

    reactive赋值时 .属性=*****

    计算属性computed:

    使用 计算属性需要加上.value,因为生成的是ref包的响应式数据。

    Let count=ref(1);
    Let vm=computed(()=>count.value+1);
    console.log(vm.value);

     使用watch监听props传过来的对象时,需要使用箭头函数如下:

    watch(() => props.num, (newVal, oldVal) => {
                    //编辑
                    nextTick(() => {
                      ****************
                    })
            }, { deep: true })
  • 相关阅读:
    104每日博客
    924每日博客
    921每日博客
    928每日博客
    929每日博客
    930每日博客
    927每日博客
    大志非才不就,大才非学不成—我的博文资源汇总
    vue 项目搭建
    Vant 使用记录
  • 原文地址:https://www.cnblogs.com/alaner/p/16377795.html
Copyright © 2020-2023  润新知