vue组件传参与vuex

vue组件概念

1.组件 (Component) 是 Vue.js 最强大的功能之一,它是html、css、js等的一个聚合体,封装性和隔离性非常强。
2.组件化:
将一个具备完整功能的项目的一部分分割多处使用
加快项目的进度
可以进行项目的复用
3.组件注册分为:全局注册和局部注册

vue组件传参

在项目里,每个组件都是独立的,那么在进行调用的时候,该如何向子组件进行参数的传递呢?

父组件向子组件传参

:data="zha"
// 父组件传递名为data,值为zha的数据
props{
	data:{
		type:Array  //数据的类型
		default:[]  //默认值为空数组
	}
}
// 子组件利用props属性接收父组件传过来的数据

子组件向父组件传参

@click="$emit('data',item)"
// 子组件通过$emit属性向父组件传递名为data,职位item的数据
@data=""
//父组件接收发送过来的事件

子父根传参

$root 获取根组件
$parent 获取父组件
$children 获取子组件
$refs 组件获取组件实例,元素获取元素

project / inject

{
   	project() {
        return {
            parent: this
        }
    }
}
<!--子组件 注入-->
{
    inject: {
        parent: {
            from: 'parent',
            default: 222
        }
    }
}

vuex

概念及解释

vuex实现数据全局共享,响应式更新

1.state(存放状态)$store.store.xxx访问

提供唯一的公共数据源,所有共享的数据统一放到store的state进行储存,相似与data

2.mutations(改变数据的唯一方法)

更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutation 非常类似于事件:每个 mutation 都有一个字符串的事件类型 (type)和一个回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数:
$store.commit(“xxx”,data)

3.actions(异步操作数据的方法)

Action和Mutation相似,Mutation 不能进行异步操作,若要进行异步操作,就得使用Action
$store.dispatch.(“xxx”,data)

4.getters(从现有的状态计算新的数据)

类似于vue中的computed,进行缓存,对于Store中的数据进行加工处理形成新的数据
$store.getters.xxx

5.modelu(子模块)

当遇见大型项目时,数据量大,store就会显得很臃肿
为了解决以上问题,Vuex 允许我们将 store 分割成模块(module)。每个模块拥有自己的 state、mutation、action、getter、甚至是嵌套子模块——从上至下进行同样方式的分割:

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值