VUE3.0——组件传值

子组件关键代码:

子组件:

<template>
    <view class="header">
        <view class="header-top" @click="pop">
            <view class="header-back-arrow" v-if="showBack" ></view>
            <text class="header-title">{{ title }}</text>
        </view>
    </view>
</template>

<script>
import { ref } from 'vue';
import Taro from '@tarojs/taro';

export default {
    name: 'BaseNavBar',
    props: ['showBack', 'title'],
    setup(props, ctx) {
        const pop = () => {
            // Taro.navigateBack();
            ctx.emit('onBack');
            // ctx.emit('onBack', {type: 'pop'});
        };
        return {
            props,
            pop,
        };
    },
};
</script>

<style>
</style>

父组件:

<template>
    <view class="index">
        <BaseNavBar :showBack="false" title="首页" @onBack="onBack"></BaseNavBar>
    </view>
</template>

<script>
import { ref, reactive } from 'vue';
import Taro from '@tarojs/taro';
import './index.scss';

import BaseNavBar from '../../components/BaseNavBar.vue';

export default {
    components: { BaseNavBar },
    setup() {
        const onBack = () => {
            console.log('onback');
        };
        return {
            onBack,
        };
    },
};
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值