首页 > 其他分享 >初识vue3

初识vue3

时间:2022-11-06 23:11:06浏览次数:52  
标签:vue 数据 setup reactive 初识 vue3 ref

Vue3

vue3 安装

vue --version
## 安装或者升级你的@vue/cli
npm install -g @vue/cli
## 创建
vue create myv3
## 启动
cd myv3
npm run serve

vue3特点

  1. 新增组合式api
  2. 更加接近原生js
  3. 按需加载

vscode插件推荐

vetur

Vue Volar extension Pack

便于vue项目开发

vue3与vue2基本相同

不同点

启动方式
v3
import {createApp} from 'vue'
createApp(App).use(router).use(store).mount("#app")
v2
import Vue from 'vue'
new Vue({
   store,
   router,
  render:h=>h(App)
}).$mount("#app")
全局方法挂载
v3
app.config.globalProperties.$say = function(msg){alert(msg)}
a
v2
Vue.prototype.$say = function(msg){alert(msg)}
根节点

v3 可以有多个根节点

v2 只能有一个根节点

生命周期,卸载
v3

beforeUnmount()
组件将要卸载

unmounted
组件已经卸载

生命周期函数 vue3 中的生命周期函数, 需要在 setup 中调用
const MyComponent = {
  setup() {
    onMounted(() => {
      console.log('mounted!')
    })
    onUpdated(() => {
      console.log('updated!')
    })
    onUnmounted(() => {
      console.log('unmounted!')
    })
  }
}
v2

beforeDestroy()
destroyed()

setup api

ref

创建值类型响应式数据方法

seup内部需要.value来访问设置值

reactive

创建引用类型响应式数据方法

defineProps

定义 组传的传参props

defineEmits

定义组件发送的事件

watch

监听一个数据的变化

watchEffect

监听多个数据

生命周期

setup中的生命周期,没有beforeCreatecreated

setup的生命周期需要加on前缀

ref 函数

作用: 定义一个响应式的数据(主要针对基础类型数据) 方法:引入 ref 函数,const xxx = ref(initValue) 模板中读取数据: 不需要.value,直接:<div>{{xxx}}</div>

总结 ref 和 reactive

  1. 从定义数据角度对比

  2. ref 用来定义:基本类型数据。

  3. reactive 用来定义:对象(或数组)类型数据。

  4. 备注:ref 也可以用来定义对象(或数组)类型数据, 它内部会自动通过reactive转为代理对象。

  5. 从原理角度对比

  6. ref 通过Object.defineProperty()getset来实现响应式(数据劫持)。

  7. reactive 通过使用 Proxy 来实现响应式(数据劫持), 并通过 Reflect 操作源对象内部的数据。

标签:vue,数据,setup,reactive,初识,vue3,ref
From: https://www.cnblogs.com/aureazjl/p/16864595.html

相关文章