我的账户
猩码学苑

专注C++开发菁英教育

亲爱的游客,欢迎!

已有账号,请

如尚未注册?

冯文直-前端-20230210

[复制链接]
。5962 发表于 2023-2-11 14:51:34 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

一、今日学习内容:
1祖孙组件传递数据
不能越级,只能一级级父传子,父传子,最后数据才从爷爷才传给了儿子。
2父子组件传递数据和方法的位置:
在父组件模板中使用子组件的位置,这时候在父组件作用域呢,可以取出父组件中的data以及methdos赋值给子组件。
3组件中的命名注意点:
注册组件的时候使用了"驼峰命名", 那么在使用时需要转换成"短横线分隔命名"
在传递参数的时候如果想使用"驼峰名称", 那么就必须写"短横线分隔命名"
在传递方法的时候不能使用"驼峰命名", 只能用"短横线分隔命名"
4补充知识:驼峰命名
5短横线命名法
6组件其他通信方式
平行组件
在开发中,可能会存在没有关系的组件通信,⽐如有个博客内容显示组件,还有⼀个表单提交组件,我们现在提交数据到博客内容组件显示,这显示有点费劲.
为了解决这种问题,vue中我们可以使⽤bus,创建中央事件总线
vm.$emit(eventName, ...args):触发当前实例上的事件。附加参数都会传给监听器回调。
vm.$on(): 监听当前实例上的自定义事件。事件可以由 vm.$emit 触发。回调函数会接收所有传入事件触发函数的额外参数。
7组件多层嵌套 provide&inject
⽗组件 provide来提供变量,然后再子组件中通过inject来注⼊变量.无论组件嵌套多深
实际上,你可以将依赖注入看作是“long range props”,除了:
p 父组件不需要知道哪些子组件使用它 provide property
p 子组件不需要知道 inject property 来自哪里
7什么是Vuex
Vuex是一个专门为vue.js设计的集中式状态管理架构。
状态?我把它理解为在data中的属性需要共享给其他vue组件使用的部分,就叫做状态。简单的说就是data中需要共用的属性。
公共仓库,保存所有组件能共用的数据
8为什么需要Vuex
企业开发中遇到的问题:组件之间共享数据
儿子想用祖先组件的数据,要层层传递。
兄弟组件之间想要传递数据,也要借助父组件。
9使用Vuex统一管理好处
能够在Vuex中集中管理共享的数据,易于开发和后期维护
能够高效地实现组件之间的数据共享,提高开发效率
存储在Vuex中的数据都是响应式的,能够实时保持数据与页面的同步
状态管理
单页面状态管理
State:指的就是我们的状态,可以暂时理解为组件中data中的属性
View:视图层,可以针对State的变化, 显示不同的信息
Actions:这里的Actions主要是用户的各种操作,如点击、输入等,会导致状态发生变化
10state使用
1 导入Vuex.js
2 创建Vuex对象
3 给祖先组件加入store属性
4 页面中使用store中数据
导入Vuex.js
必须在引入Vue之后再引入Vuex
注意点:
只有需要共享的才放到vuex, 不需要共享的数据依然放到组件自身的data
11Vuex修改数据
Mutation用于变更存储在Store中的数据。
只能通过mutation变更Store数据,不可以直接操作Store中的数据
通过这种方式,虽然操作稍微繁琐一些,但可以集中监控所有数据的变化,直接操作Store数据是无法进行监控的
12Mutation响应规则
Vuexstore中的State是响应式的,当State中的数据发生改变时,Vue组件也会自动更新。
Action
Action类似于Mutation,但是是用于处理异步任务的,比如网络请求等
如果通过异步操作变更数据,必须通过Action,而不能使用Mutation,但在Action中还是要通过触发Mutation的方式间接变更数据。
这个在后面项目中介绍使用。
Vuex获取数据
getters 定义:Vuex允许我们在store中定义"getter" ,用于对state中存储的数据进行过滤操作。
就像vue生命周期中的computed一样,getter的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算
二、今日问题:无
三、解决方案:无

回复

使用道具 举报

关注0

粉丝0

帖子32

发布主题
大家都在学
课堂讨论
一周热帖排行最近7x24小时热帖
关注我们
专注C++菁英教育

客服电话:18009298968

客服时间:9:00-21:00

猩码学苑 - 专注C++开发菁英教育!( 陕ICP备2025058934号-1 )

版权所有 © 陕西菁英数字科技有限公司 2023-2026