vue实现子组件监听父组件数据状态变化而变化

一、使用背景

正常情况下,更多推荐的是利用vuex来进行父子组件间的状态变化监听,毕竟vue是支持单向数据流的,违背了这个特性,一是不好维护,二是耦合性降低了,但是否没有了vuex,子组件就难以主动根据父组件的变化而变化呢?这里探讨一下可行的办法,供大家思考。

二、实现原理

其实子组件往外传递数据,不外乎借用$emit的方法。试想像一个场景,比如说开发一个定时组件,出发的按钮在子组件上,需求是需要点击按钮之后,外环的秒表先跑60秒,然后内环的子组件秒表才开始计算。
这咋一看用vuex监听外环秒变化来给信号子组件就完事了,但是如果要使用$emit呢?其实用法也一样,但是这次我们传的参数,不再是数据,而是一个子组件自己在methods中定义的方法。

三、例子

子组件内:

<template>
<div>{
  {second}}</div>
<div @click="start">开始计时</div>
</template>
<script>
export default {
    
	data<
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值