一、filter

1.vue3移除了局部过滤器和全局过滤器。

2.但是可以通过全局属性来配置全局属性函数,此方法也可以替代之前的vue原型挂载

app.config.globalProperties
  1. // 之前 (Vue 2.x)
  2. Vue.prototype.$http = () => {}
  3. // 之后 (Vue 3.x)
  4. const app = createApp({})
  5. app.config.globalProperties.$http = () => {}

二、v-model

1.vue3中,v-model语法糖
(1)默认给子组件定义modelValue的prop
(2)默认给子组件实例绑定@update:modelValue自定义事件
(3)可通过v-model后面加propName参数修改

  1. <child-component v-model='value'></child-component>
  2. // 等价于
  3. <child-component :modelValue='value' @update:modelValue='value = $event'>
  4. </child-component>
  5. // 添加propName参数
  6. <child-component v-model:title='value'></child-component>
  7. // 等价于
  8. <child-component :title='value' @update:title='value = $event'>
  9. </child-component>

三、prop接受

1.从vue中引入,defineProps函数来定义接受props

(1)在template中可以直接使用定义的prop

(2)在script中用prop,需要使用prop对象上获取对应属性
  1. import {defineProps} from 'vue'
  2. defineProps({
  3. visibel:{
  4. type:Boolean,
  5. defualt: false
  6. }
  7. })

四、emit自定义事件

1.引入defineEmits来声明emits,再出发自定义事件

  1. import {defineEmits} from "vue"
  2. const emit = defineEmits(['update:modelValue'])
  3. emit('update:modelValue')