鄞州网站建设公司做好公司网站
鄞州网站建设公司,做好公司网站,k2搭建wordpress,千图网解析网站怎么做vue3官方文档#xff1a;Vue3
vue3创建应用实例
creatApp(根组件)
vue3挂载全局组件、router、store
use()
简介OptionsAPI与CompositionAPI的区别
1、OptionsAPI数据、方法、计算属性等#xff0c;是分散在data、methods、computed中的#xff0c;若想新增或者修改一…vue3官方文档Vue3
vue3创建应用实例
creatApp(根组件)
vue3挂载全局组件、router、store
use()
简介OptionsAPI与CompositionAPI的区别
1、OptionsAPI数据、方法、计算属性等是分散在data、methods、computed中的若想新增或者修改一个需求就需要分别修改data、methods、computed不利于项目维护
2、CompositionAPI可以使用函数的方法更加优雅的组织代码让相关功能的代码更加有序的组合在一起
setup概述
setup是vue3中新增的配置项值是一个函数组件中所有用到的组合式api全都配置在setup中
setup特点
1、setup返回的对象中的内容可以直接在模板中使用
2、setup中访问this是undefined
3、setup函数会在beforeCreated钩子前执行
setup语法糖在script标签中直接把setup写在标签即可
setup和optionAPI
1、setup和optionAPI是可以共存的也就是说在setup中可以使用this获取到data或者methods等
2、选项式API可以读取setup中的数据setup不可以读取选项式中的数据
创建响应式数据的方法
ref、reactive
ref()
1、可以定义基本类型和引用类型的数据
2、ref创建的变量必须使用.value获取
reactive()
1、可以定义引用类型的数据
2、reactive重新分配一个对象会失去响应式
toRef(obj)、toRefs(obj,key)
作用将一个响应式对象中的每一个属性都转化为ref对象
区别toRef(obj)和toRefs(obj,key)功能一样但是toRefs(obj,key)是批量转换
计算属性computed
使用首先在vue中先引入computed
使用方法有两种一是接收一个函数另外一个是接收一个对象
// 第一种方法
// 只读
const val compouted(() {return ab
})// 第二种方法
// 可读可写
const val compouted({get: () {},set: (valure) {// valure是val的最新值}
})
监听属性watch
使用首先在vue中先引入watch
作用监视数据的变化
特点vue3中的watch只能监视以下四种数据
1、ref定义的数据
2、reactive定义的数据
3、函数返回的数据
4、包含以上数据的数组
watch接收三个参数
参数1需要监听的数据
参数2处理函数
参数3配置一个对象是否开启深度监听或者是否是否立即监听
监视ref定义的基本数据类型
const a ref(100)
watch(a, (new, old) {})
监视ref定义的引用类型的数据
1、如果修改的是对象中的数据拿到的old和new是一个对象
2、如果给ref对象重新赋值new是新值old是旧值
const a ref({name: 小刘age: 18
})// 监听整个对象
// 需要开启深度监听
watch(a, (new, old) {
}, {deep: true
})// 监听某个属性
watch(() a.value.name, (new,old){})
监视reactive定义的对象类型
1、reactive定义的数据不能给它重新赋上新值可以使用assign
const a reactive({name: 小刘age: 18
})// 监听整个对象
// 默认开启深度监听
watch(a, (new, old) {
}, {deep: true
})// 监听某个属性
watch(() a.name, (new,old){})
watchEffect
定义立即运行一个函数同时响应式的追踪其依赖并在依赖更新时重新执行该函数
watch对比watchEffect
1、都能监听响应式数据
2、watch需要加上需要监听的数据
3、watchEffect不需要vue3自动收集其依赖项
watchEffect(() {})
标签的ref属性
作用用于注册模板引用
1、用在普通标签上获取的是DOM节点
2、用在组件上获取的是组件实例对象
div111111/divconst domRef ref()console.log(domRef.value)
props的使用
接收props
1、defaultProps([])接收一个数组返回值可以访问到接收到的props
2、限制类型可以使用泛型defaultProps{}([])
3、设置props默认值使用withDefaults(参数一是defaultProps参数2是个对象定义默认值)
生命周期
1、和vue2的生命周期类似在原来的生命周期钩子函数上加上on
2、去掉了初始化的两个钩子有关代码可在setup中写
路由
声明式路由
// 路由跳转
router-link/router-link// to 需要跳转的路由
1、若to是字符串可以带search参数
2、若to是对象
{path: 路由地址}
{name: 路由的命名空间}
// 若是传参数
// params参数
{path: 路由地址params: {}
}// query参数
{path: 路由地址query: {}
}// 组件展示
routerView/routerView
命名路由
编程式路由
1、引入路由相关函数
2、在app上注册路由
import {createRouter,createWebHistory} from vue-routerconst routes createRouter({history: createWebHistory(),list: [{path: /z,component: // 子级路由children: [{// 路由地址不需要加斜杠path: a}]}]
})const app creatAPP()
app.use(routes)
路由传参
query参数在路由后面加问号进行拼接
param参数需要先在路由列表中注册然后在跳转时通过斜杠跟上参数
路由参数获取
通过useRoute(),需要从vue-router中导入
pinia 组件通信
第一种propsemit
接收emit: defineEmits(),接收一个数组有返回值返回值是emit,可以触发自定义事件
// 接收
const emit defineEmits([haha])// 触发
emit(haha)
第二种v-model
如果作用在组件上
com v-modeldata/com// 相当于
com :modelValuedata update:modelValue/com// 所以如果使用v-model需要在子组件中接收props和事件
defineProps([modelValue])
defineEmites([update:modelValue])
第三种$attrs
第四种$refs和$parent
第五种provide/inject
第六种mitt
插槽
匿名插槽
具名插槽
作用域插槽
内置组件
Suspense
Teleport
自定义hook
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88663.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!