首页 > 其他分享 >vue3 tsx中使用hook

vue3 tsx中使用hook

时间:2024-09-13 21:46:45浏览次数:6  
标签:count tsx vue3 hook increment useMyHooks import decrement ref

代码

  • 使用方组件
import { defineComponent, PropType, h, computed, ref, watch } from 'vue';

import useMyHooks from './hooks/useMyHooks';

export default defineComponent({
    setup(props, { slots }) {
        const { count, increment, decrement } = useMyHooks();
        return () => {
            return (
                <>
                    <div>
                        <div>{count.value}</div>
                        <button onClick={() => increment()}>more</button>
                        <button onClick={() => decrement()}>less</button>
                    </div>
                </>
            );
        };
    }
});

  • useMyHooks.ts
import { ref, watch } from 'vue';

export default function useMyHooks() {
    const count = ref(0);

    watch(count, (val) => {
        console.log('count changed: ', val);
    });

    return {
        count,
        increment() {
            count.value++;
        },
        decrement() {
            count.value--;
        }
    };
}

标签:count,tsx,vue3,hook,increment,useMyHooks,import,decrement,ref
From: https://www.cnblogs.com/jocongmin/p/18412952

相关文章

  • tsx 实现slot插槽
    tsx实现slot插槽父组件<template><divclass="component-name"><child><template#default="scope"><div>default</div><div>{{scope.a}}</......
  • tsx css class样式如何使用
    参考代码import{defineComponent,PropType,h,computed,ref,watch}from'vue';importtype{Reactive,Ref}from'vue';importstylesfrom'../scss/child.module.scss';import'../scss/child.scss';//这引入的样式是全局的,会影响其......
  • vue3 el-message组件封装
    背景在封装请求拦截器时,使用ElMessage进行弹窗提示成功或失败,但是如果页面用到多个接口,这时就会导致页面出现很多弹窗,导致用户体验不好,有可能出现卡顿现象。这时就需要进行一些判断,如果前面的ElMessage还没关闭并且类型是一致的就return,不再弹窗提示,类型不一致时就要弹窗提示......
  • 标准的vue3 elementplus格式,不用export default
    <template><div><!--查询表单--><el-form:inline="true":model="filters"class="demo-form-inline"><el-form-itemlabel="产品料号"><el-inputv-model="filters.......
  • uni-app vue3获取 小程序胶囊最新的方法
    1.第一步app.vue<scriptsetup> import{onLaunch}from'@dcloudio/uni-app'; onLaunch(()=>{ //获取胶囊按钮的位置 constbuttonPositon=uni.getStorageSync('buttonPositon') if(!buttonPositon){ constres=uni.getMenuButtonBoun......
  • VUE框架Vue3组件传送实现模态窗口切换------VUE框架
    <template><divclass="s1"><h1>我是App组件</h1><YeYe></YeYe></div></template><script>importYeYefrom"./components/YeYe.vue";exportdefault{name......
  • vue3 + vite 使用 vite-plugin-svg-icons 插件显示本地 svg 图标的方法
    1.安装vite-plugin-svg-icons插件yarnaddvite-plugin-svg-icons-D//或者npminstallvite-plugin-svg-icons-D//或者pnpminstallvite-plugin-svg-icons-D2.使用vite-plugin-svg-icons插件2.1在项目根目录查找vite.config.js,进行配置import{createS......
  • vue3在引入组件时报'has no default export'
    原文:https://blog.csdn.net/weixin_53042678/article/details/138254610这个虽然不影响程序的运行,但是有强迫症患者觉得爆红难受,报错如下: 这个解决的方法也很简单,点击Vscode左下角的设置  添加 "vetur.validation.script":false,重启Vscode即可生效  ......
  • vue3+ts+threejs全景家居VR看房系统v3.0
    一、系统效果图vue3+ts+threejs全景家居VR看房系统v3.0二、系统功能:1.**360°全景自由视角**:用户可以拖拽观看房内全景和自由旋转视角,查看房间的每个角落。2.**场景切换**:用户可以通过点击房间名称热点标注,实现不同房间之间的切换,体验整个房屋的布局。3.**热点标......
  • vue3项目部署到Github
    此教程适应于以webpack,vue-cli,vite等脚手架构建的vue项目。当然,vue2和vue3都是可以滴。1.前提:你的代码库已经提交到Github上如果没有的话,请到GitHub上新建仓库,并把你本地的项目提交到GitHub上新建的仓库里。具体方法,可以参考我的博客Git使用记录-持续更新-将本地项目关......