VUE框架Vue3下使用hook钩子函数实现代码复用效果提升复用率------VUE框架

import {reactive} from "vue";
export default function(){
    let data = reactive({
        num1 : 0,
        num2 : 0,
        result : 0
    });
    function sum(){
        // num3.value = num1.value + num2.value;
        data.result = data.num1 + data.num2;
    }
    // return {num1,num2,result,submit}
    return {data,sum}
}

import {reactive} from "vue";

export default function(){

    let data = reactive({

        num1 : 0,

        num2 : 0,

        result : 0

    });

    function sum(){

        // num3.value = num1.value + num2.value;

        data.result = data.num1 + data.num2;

    }

    // return {num1,num2,result,submit}

    return {data,sum}

}

<template>
    <input type="number" v-model="data.num1"/>
    <br>
    <input type="number" v-model="data.num2"/>
    <br>
    <input type="number" v-model="data.result"/>
    <br>
    <button @click="sum">求和</button>
</template>

<script>
// import {reactive, ref} from "vue";
import sum from "./hooks/sum.js"
export default {
    name : "App",
    setup(){
        // 调用钩子函数,然后返回即可
        let result = sum();
        // // let num1 = ref(0);
        // // let num2 = ref(0);
        // // let result = ref(0);
        // let data = reactive({
        //     num1 : 0,
        //     num2 : 0,
        //     result : 0
        // });
        // function submit(){
        //     // num3.value = num1.value + num2.value;
        //     data.result = data.num1 + data.num2;
        // }
        // // return {num1,num2,result,submit}
        // return {data,submit}
        return result;
    }
}
</script>

<style>

</style>

<template>

    <input type="number" v-model="data.num1"/>

    <br>

    <input type="number" v-model="data.num2"/>

    <br>

    <input type="number" v-model="data.result"/>

    <br>

    <button @click="sum">求和</button>

</template>

<script>

// import {reactive, ref} from "vue";

import sum from "./hooks/sum.js"

export default {

    name : "App",

    setup(){

        // 调用钩子函数,然后返回即可

        let result = sum();

        // // let num1 = ref(0);

        // // let num2 = ref(0);

        // // let result = ref(0);

        // let data = reactive({

        //     num1 : 0,

        //     num2 : 0,

        //     result : 0

        // });

        // function submit(){

        //     // num3.value = num1.value + num2.value;

        //     data.result = data.num1 + data.num2;

        // }

        // // return {num1,num2,result,submit}

        // return {data,submit}

        return result;

    }

}

</script>

<style>

</style>

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旧约Alatus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值