vue33

创建 挂载 更新 销毁

动态控制类名

sum累加器 等于上一次返回的结果 item当前正在处理的元素 

和data中的数据双向绑定

重新渲染  封装

局部注册和全局注册

全局注册(适用于通用的)

组件通信

保证每个组件实例 都能维护自己的数据

组件通信  父子通信

props                    在组件标签中加自定义属性   组件上注册的一些自定义属性

props校验  为组件prop指定验证要求  不能直接改

1.类型校验

是否必填 required:true

default:默认值

自定义校验

validator(){

return false//没有通过校验

return true //通过校验

}

父传子    公共的数据给父

子传父  利用$emit 通知父组件

非父子通信(拓展)  event bus 事件总线

1.先创建一个都能访问 到的事件总线(空vue实例) 

非父子通信(跨层级通信)                 provide&inject

简单类型是非响应式的,复杂类型是响应式的

表单类组件封装

value是选择的值  change是下拉

this.$nextTIck(()=>{

this.$refs.inp.focus()

})

自定义指令 封装一些dom操作

v-loading

默认插槽:  1.组件内需要定制的结构部分,改用<slot></slot>占位    2.使用组件时  标签内部的会传入结构内替换slot

 在使用组件时,在组件内部填入内容

 在slot标签内部放内容 就是默认的内容

具名插槽:一个组件内有多处,需要外部传入标签,进行定制

多个slot使用name属性进行区分名字 

在使用组件标签时 使用template配合v-slot:name 来分发对应的标签  用template包裹起来

 v-slot:可以简化为#

定制->插槽

作用域插槽:定义slot插槽的同时,可以进行传值,  给插槽上可以绑定数据,将来使用组件时可以用

 

在slot中写要传递的数据 会被收集到一个对象中

使用插槽时 ,templae 中 接收     #插槽名="obj"  默认插槽名是defalut

双击事件

model->value值 input事件

e是触发事件源

单页应用程序:所以功能在一个页面中‘

路由:  路径和组件的映射关系   vuerouter插件 5+2   2 3 3   3 4  4

 下载 引入 注册 创建路由对象  注入

 组件存放目录问题(组件分类)

页面组件-页面展示-配合路由使用  views   大

复用组件-展示数据-常用于服用  components   小

路由的封装抽离

router-link代替a

默认提供高亮类名

router-link-exact-active router-link-active(模糊匹配用的多)

定制类名

声明式导航 跳转传参(在跳转路由时,进行传参)   查询参数传参   动态路由传参

模版中可以省略this

动态路由传参

  都可以匹配

路由重定向

{path:匹配路径 redirect:重定向到的路径}

404

路由模式设置

编程式导航  点击按钮跳转如何实现 path  name

命名路由  适用于层级多的

编程式路由   路由传参                juqey 动态params

words是参数

npm install less-loader vue-router --save-dev

npm install axios

静态的多个 动态的留一个结构即可

组件缓存  keep-alive

路由跳转后,组件重新加载,数据 重新加载

利用keep-alive将组件缓存下来

keep-alive是vue的内置逐渐 会缓存不活动的组件实例 

被缓存的组件多两个生命周期  actived  激活时

                                                deactived 是活时

明确vuex是什么  响应式  操作简洁

vuex是一个vue的状态管理工具,状态就是数据

vuex是一个插件,可以帮助我们管理vue通用的数据(多组件共享的数据)

某个状态在很多个组件中来使用

多个组件共同委会一份数据

1.安装vuex

2.引入

3.插件安装

4.创建空仓库

5.导出

6.挂载

任意组件都可以访问到store仓库

state 给仓库提供数据 是使用组件共享的

使用数据 通过this.$store.state.xxx

mapState辅助函数,可以把store中的数据自动映射到组件的计算属性中去

import {mapState} from 'vuex'

第一步导入  第二部写计算属性             ...mapState([需要映射的属性])   然后可以直接用的

修改数据            vuex遵循单向数据流,组件中不能直接修改仓库的数据

把要修改的数据提交给仓库  让仓库去改

1.定义mustation对象              2.组件中提交调用mutations

mutations传参   

双向联动

mapMusttion可以把mutation中的方法提取出来 映射到组件的methods中

action       处理异步操作

context是上下文(store)

getters 类似与计算属性

 yarn global add json-server

npm i json-server -g

state中的数据修改必须结果mutation

后台变了

vant-ui       vue的组件库

vw适配

先配一级路由 再配二级路由

在Vue.js中,$router 就是指代路由器对象的一个实例。这个实例包含了路由器的所有功能和方法,可以用来进行路由的导航、参数传递、路由监听等操作。通常情况下,我们可以通过在Vue组件中访问$router属性来使用这个路由器对象。

例如,我们可以通过$router.push()方法来实现页面的跳转,通过$router.go()方法来实现页面的前进或后退,以及通过$router.replace()方法来实现页面的替换等操作。

总之,$router 是一个在Vue.js中常用的对象,用于管理和操作路由,是实现页面导航和路由控制的关键之一。

vuex持久化处理

在统一每次请求后台时,添加loading效果

Toast默认是单例模式,后面的TOoast调用了,会将前一个Toast效果覆盖

同时只能存在一个Toast  可配置多个  可屏蔽无效的提交

页面访问拦截   全局前置守卫   所有路由一旦被匹配到,才会真正的解析渲染组件,才能看到页面内容

解构

pageData是data中的数据

created返回回来的数据用data去接收

看控制台的报错信息去改错

点击搜索 添加历史 点击搜索按钮或地下历史记录都能进行搜索 若之前没有相同搜索关键字,则直接追加到最前面 若之前已有相同搜索关键字,将该原有关键字移除,再追加

不是默认导出的要用 {}

默认导出通常用于导出模块中的单个功能、对象或者类。当一个模块只需要导出一个主要功能时,通常会使用默认导出。

v-model 是 Vue.js 中用来实现双向数据绑定的指令,它是 Vue 的一项核心功能。使用 v-model 可以将表单输入元素和 Vue 实例中的数据进行绑定,实现数据的双向同步。

v-model 的简写形式是将 :value@input 结合起来使用,其中 :value 绑定了输入框的值,@input 监听了输入框的输入事件。这种方式手动实现了单向数据流,从输入框到数据的更新。举个例子,如果你有一个输入框,你可以这样使用简写形式实现双向绑定:

 

Copy Code

<input :value="myValue" @input="myValue = $event.target.value">

这样,当用户在输入框中输入内容时,myValue 的值会自动更新为输入框的值,而当 myValue 的值改变时,输入框中的值也会随之更新。这就是 v-model 的简写形式所实现的双向数据绑定的效果。

$event 代表了子组件中输入框的输入事件对象

commit 方法是 Vuex 中用于触发 mutations 的函数之一。在 Vuex 中,mutations 是用于修改状态的同步函数,而 commit 方法则是用于触发这些 mutations 的方式之一。

先本地修改 再同步到后台

vue3

创建一个vue应用  npm init vue@latest 

加上setup就允许在script中直接编写组合式api  局部组件不用注册

setup函数中 获取不到this

this依赖于当前的环境

数据和函数需要在setup最后return,才能在模版中应用

this执行undifined不用了

reactive

reactive 接收一个对象类型的数据,返回一个响应式的对象

简单类型响应式 ref  接收一个简单类型或者对象类型的数据传入并返回一个响应式的对象

在脚本中访问数据 需要通过.value 

在template中 .value不需要加

watch  侦听一个或者多个数据的变化 数据变化时执行回调函数

immediate(立即执行)deept(深度监听)

监听某一个属性的变化

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值