vue3语法糖版父组件子组件传值、方法及全局获取挂载到window里的变量

1、挂载到window变量

//初始化
let env = null;
window.env = env;
//JavaScript使用
let env = window.env
//TypeScript使用
let env:any = (window as any).env

2、父组件、子组件互相传属性和方法

父组件:function.vue 子组件:child.vue

父组件代码如下:

<template>
<!-- :given="given"为传递给子组件专用   @require_to="require_to"为接收子组件消息专用 -->
  <child :given="given" @require_to="require_to"></child>
</template>
<script setup>
//引用子组件
import child from './child.vue';
//准备给子组件的方法和属性
const given ={
  homework:"homework",
  dohomework:()=>{
    console.log("Please do homework!")
  }
}

//接收子组件的方法和变量
const require_to = (e)=>{
  console.log(e.require,"from child");
  e.dorequire();
}
</script>
<style></style>

子组件代码如下:

<template></template>
<script setup>
//获取父组件传递的方法或者变量
import {toRaw} from 'vue'
const props = defineProps({
    given :Object,
})
//toRaw获取proxy里面的值
const {homework,dohomework} = (toRaw(props))?.given
console.log(homework,"from parent");
dohomework();

//将子组件的方法变量传递给父组件
const request = {
    require : "ok ok ok!",
    dorequire : ()=>{
        console.log("ok,i will do it!");
    }
}
const emit = defineEmits(["require_to"]);
emit("require_to",request)

</script>
<style></style>

运行结果如下:

tips:初次写教程,代码功底不高,可能存在问题,谢谢指教。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值