uniapp中sync与update:

本文介绍了如何在Vue中使用自定义组件mupop.vue实现父子组件之间的状态同步,包括数据的双向绑定、三元表达式应用以及通过props和$emit进行值的传递与更新。
摘要由CSDN通过智能技术生成

【个人笔记】

index.vue

<template>
  <view>
    <button @click="clickbtn">开启{{mystate}}</button>
    <mupop :state.sync="mystate" ></mupop>
  </view>
</template>
 
<script>
export default {
  data() {
    return {
      mystate:false
    }
  },
  methods: {
    clickbtn(){
      this.mystate=true
    },
    state(e){
      this.mystate=e
    }
  }
}
</script>

自定义组件下的mupop.vue

<template>
  <view>
   <view class="">---弹出框---</view>
   <view class="box":style="{height:state ?'300rpx':'0'}"></view>
   <view class="">
     <button size="mini" @click="onclose">关闭</button>
   </view>
  </view>
</template>

<script>
  export default {
    props:{
      state:{
        type:Boolean,
        default:false
      }
      
    },
    name:"mupop",
    data() {
      return {
        
      };
    },
    methods:{
      onclose(){
        this.$emit("update:state",false)
        
      }
    }
  }
</script>

<style lang="scss">
.box{
  width: 300rpx;
  height:300rpx;
  background-color: pink;
}
</style>

 父页面:mystate默认false,通过:state.sync="mystate"

子页面使用props接受传值,三元表达式,height值为0

父页面点击【开启】按钮,clickbtn方法对mystate进行赋值

子页面点击【关闭】按钮,onclose方法通过this.$emit("update:state",false)传值给父页面

父页面通过state(e)方法进行数值接收和赋值

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值