vue3+tsx+vite封装组件时,传值无法拿到最新值的坑

vue3+tsx+vite封装组件时,传值无法拿到最新值的坑

例如:A页面引入B组件,B组件无法拿取到A页面传到最新值。


提示:以下是本篇文章正文内容,下面案例可供参考

useVModel

1.组件页面引入

代码如下(示例):

//组件页面  B.tsx
import { useVModel } from "@vueuse/core";	//引入
export default defineComponent({
	setup(props, { emit }) {
	//props值传过来是单向绑定的 只能读取  但 不可以改变、赋值 传出去的为上一次传进来的的值
	//将传过来的方法、值、放入useVmodel里面就成了双向绑定 vue3自带的东东
	//data.value可以改变、赋值  接收或是发出去的值、变量都是实时更新的
	//emit调用父页面的方法
		const data = useVModel(props,"value",emit);	//使用	
	},
});


2.父页面使用组件

代码如下(示例):

import { defineComponent, watch } from "vue";
import { reactive, ref, onMounted, onBeforeUnmount } from "vue";
//引入组件
//不引入的话 标签需要写成<my-wangeditor></my-wangeditor>
import MyWangeditor from "../../common/components/MyWangeditor/index";	

export default defineComponent({
  components: {
    MyWangeditor,
  },
  setup() {
    const content = reactive({
      html: undefined,
      text: undefined
    })
    
    return () => (
      <>
        <div style="margin-top: 10px;">
          <MyWangeditor v-model={[content.html, "value"]} />		//双向绑定 传值
        </div>
        <div class=" w-52 h-28 border">
          {content.html}		//查看数据每次变更是否更新成功
        </div>
      </>
    );
  },
});


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值