关于Vue3.0的基本使用

127 阅读2分钟

1.我们第一步要做的就是先搭建一个Vue3.0的项目。

(1)这里我们还使用vue ui 来搭建,这是搭建项目时所选的配置。 image.png (2)这边一定要记得选择3.0,不然创建的项目还是2.0版本的。 image.png (3)在我们创建的项目里查看packge.json,查看我们的Vue版本是3.0的话就创建成功了。 image.png

2.接下来就是Vue3的基本使用。

  • createApp函数接收一个对象参数,对象中可以包含数据模型等信息
  • createApp函数的返回值就是一个vue的实例,然后就可以通过vue的实例进行一些相关操作,比如注册全局组件,注册全局指令等
// main.js
import {createApp} from 'vue';

const app = createApp({
	data(){
		return {
			message:'hello vue3.0'
		}
	}
});
app.component('xxx',xxx);//注册全局组件
app.directive('xxx',xxx);//注册全局指令
app.use(xxx);//引用其他组件
app.mount('#app');

//上面是分开写的,也可以直接写成连点的形式
createApp().component().directive().use().mount('#app')

2.setup的使用

  1、 beforeCreate:表示组件刚刚被创建出来,组件的data和methods还没有初始化好

         Created: 表示组件刚刚被创建出来,并且组件的data和methods已经初始化好
         

  2、setup函数是 Composition API(组合API)的入口

  3、在setup函数中定义的变量和方法最后都是需要 return 出去的 不然无法再模板中使用 data() 变为 setUp()
1、生命周期的函数只能写在setUp中
2、provide/inject 只能写在setUp

3.父子组件传值

(1)父传子

在setup函数中有两个参数 第一个参数为props,第二个参数为context

props为一个对象,props接收后,内部包含了所有传递过来的prop数据,context包含了attrs,slots,emit属性,其中emit方法可以完成子传父

//父
<template>\
  <div>\
    <Son :msg="msg"></Son>\
  </div>\
</template>\
 \
<script>\
import { ref } from 'vue';\
import Son from "./son.vue";\
export default {undefined\
  components: {undefined\
    Son,\
  },\
  setup() {undefined\
      const msg = ref('奥特曼')\
        return {msg}\
  },\
};\
</script>\
 \
<style scoped>\
</style>
//子
<template>\
  <div>子组件 {undefined{msg}} </div>\
</template>\
 \
<script>\
export default {undefined\
    props:{undefined\
        msg:{undefined\
            type:String,\
            default:''\
        }\
    },\
    setup(props,context){undefined\
        console.log(props,context);\
    }\
};\
</script>\
 \
<style scoped>\
</style>

(2)子传父

注意vue2中的this.$emit 不在生效   setup函数中没有this ,而在setup第二个参数中有emit方法

 setup(props,context){undefined\
        context.emit('name','哈哈哈哈')\
    }\
 \
//结构写法\
//    setup(props,{emit}){undefined\
//       emit('name','哈哈哈哈')\
//   }\
父

<template>\
    <Son @name="name" ></Son>\
</template>\
 \
  setup() {undefined\
      const name = (name)=>console.log(name);\
        return {name}\
  },  \

父传子:在setup中使用props数据 setup(props){  props就是父组件数据 }

子传父:触发自定义事件的时候emit来自 setup(props,{emit}){  emit 就是触发事件函数。

今天就到这里,如果感觉本文章对您有用的话,点个赞吧!