vue3ts分离头部变量单独一个ts

45 篇文章 1 订阅

这里要说下 博主

vue^3.2.47  

typescript^5.0.2

群有小伙伴说之前版本是不支持,所以你对下版本是不是比博主的版本低。

主要是页面代码太多,你看下面

 然后博主就想着组合式开发  怎么把页面变干净点:

        1、vue的就处理逻辑

        2、ts就单纯定义接口和类型,还有的就是怎么把 const的变量全部抽出来到ts里

        3、interface和type本来就可以单独封装一个ts,博文主要说的是怎么把const定义的变量也封装进去ts!!!!

。。。

这里注意,如果!!!你直接在。ts里这么写

export const a=1

然后在vue里直接

import {a} from "./index.ts"
a.value=2

是可以的!!!!!!

但是你碰到这个a是  组件的 ref的话,如下 ,是会报错的哦!!!!  

 a.value是undefined

这里a.value.init()是指的调用pageCom这个子组件里面博主定义的  const  init=()=>{}的 匿名函数,

但是因为a.value是undefined的原因,undefined.init()自然就报错了!

本博文就是主要解决怎么让他们都可以!!!!

直接上代码

index.ts部分如下,

export const cycInit=()=>{
    const pageComRef=ref(null)
    const searchParams=ref(null)
    return {
        pageComRef,
        searchParams,
    }
}

上面是为了让大家看的懂

我们也可以直接如下写法。就是把你原本vue头部的变量都移来.ts的文件了,

export const cycInit=()=>{
    return {
        pageComRef:ref(null),
        searchParams:ref(null),
    }
}

.vue部分

//template
<pageCom ref="pageComRef"></pageCom>

//setup

 import {cycInit} from "./index.ts"
    const {pageComRef,searchParams}=cycInit();
    setTimeout(()=>{
        pageComRef.value.init();
    },)

这有什么好处? 这就意味着 你的vue单页面可以专心写逻辑 代码不会太多太乱了!!!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

雪狼之夜

打个赏,让博主知道博文没白写

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

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

打赏作者

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

抵扣说明:

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

余额充值