<script setup>
import { ref, onMounted, computed,getCurrentInstance } from "vue";
import { onShow,onHide,onLoad } from "@dcloudio/uni-app"; // 非vue的生命周期
import ChildComponent form 'xxxx'//子组件路径
const { proxy } = getCurrentInstance()
// emit对象,子组件抛出时间
const emit = defineEmits(["click"]);
// props演示
let props = defineProps({
str1: {
// 组件id
type: String,
default: '',
},
})
//#region 代码分组,可折叠
//#endregion
//#region 生命周期事件
onMounted(()=>{
console.log("应用挂载完成")
})
// onLoad中获取参数
onLoad((option) => {
// 在这里发起调用接口等行为
});
onShow(()=>{
})
//#endregion
function loadData(){
}
//点击事件
function clickBtn(){
let components = proxy.$refs.childrenRef.xxx();
let d=1;//参数
emit('click',d)
}
// 调用组件方法
//暴露方法,父组件可以ref获取
defineExpose({
loadData,
})
let a = ref(1)
let b = ref(2)
//计算属性
let c = computed(() => {
return a.value + b.value
})
// watch值变化
watch(
() => props.str1,
(newValue, oldValue) => {
loadData()
},
{ immediate: true ,deep:true}
)
</script>
<template>
<view>
<view @click='clickBtn'> 调用子组件内部事件</view>
<!-- 子组件 -->
<ChildComponent ref='childrenRef'> </ChildComponent>
</view>
</template>
<style lang="scss" scoped>
</style>
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- shangjiatang.cn 版权所有 湘ICP备2022005869号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务