vue3.2如何将写hooks呢?

简介: vue3.2如何将写hooks呢?

场景


有些时候,我们需要将一个页面拆分成各个模块。


这些模块包含增加,删除,修改,等


并且这些模块会处理非常复杂的业务逻辑问题


所以,我们最好是将他们分开


如何将分离新增模块拆离出去


主页面


<template>
    <div>
        <el-button @click="addHanlder">新增</el-button>
        <ul>
            <li v-for="item in listArr" :key="item.id"> {{ item.name }} </li>
        </ul>
    </div>
</template>
<script lang="ts" setup>
import {  ref} from 'vue'
// 导入新增模块的业务逻辑,注意不能够写成add.ts
import addHooks from './add'
// 定义接口
interface listType{
    name?:string,
    age ?:number,
    id:string,
    // 可以有任意多个字段-任意类型
    [propN:string]:any,
}
let listArr=ref<listType[]>([
    {name:'张三',age:21,id:'001'},
    {name:'李四',age:20,id:'002'},
    {name:'周六',age:28,id:'004',aa:'xx'},
])
// 使用新增模块
let { addHanlder }=addHooks(listArr.value);
</script>


add.ts文件


// 新增功能的逻辑
// 注意这里需要说明listArr的参数类型哈 { name?: string; age?: number; id: string }[]
function addHooks(listArr: { name?: string; age?: number; id: string }[]) { 
    function addHanlder() { 
        listArr.push(
            {name:'王五',age:24,id:'005'}
        )
    }
    return {
        addHanlder
    }
}
export default  addHooks


1425695-20220503185039171-1079336957.png

相关文章
|
消息中间件 Linux 数据库
OpenStack Centos7 T版本搭建
OpenStack Centos7 T版本搭建
557 15
|
前端开发 容器
解锁CSS定位奥秘,从迷茫到精通,让你的网页布局“稳如老狗”,引领前端新潮流!
【8月更文挑战第23天】本文深入探讨了Web前端开发中CSS定位的三大基石:相对定位、绝对定位与固定定位。通过具体示例,展示了各种定位方式的特点及应用场景。相对定位可在不影响布局的情况下微调元素位置;绝对定位使元素完全脱离文档流,适用于精确控制位置的需求;固定定位则确保元素始终固定于浏览器窗口特定位置,不受页面滚动影响。这些技巧对于实现复杂网页布局至关重要。
198 0
|
数据采集 缓存 NoSQL
三级缓存实操系列(一)
三级缓存实操系列(一)
C语言实现电子音乐相册---粤嵌GEC6818嵌入式系统实训
C语言实现电子音乐相册---粤嵌GEC6818嵌入式系统实训
|
10月前
|
数据安全/隐私保护
什么是正向代理
正向代理是网络代理的一种形式,作为客户端与外部服务器间的中介,接收并转发客户端请求至目标服务器,再将服务器响应转回给客户端。适用于访问受限资源、保护隐私及跨境访问等场景,增强客户端的灵活性和安全性。
224 0
|
12月前
|
存储 算法 安全
Python 加密算法详解与应用
Python 加密算法详解与应用
329 1
|
索引
bisect_left,bisect_right,bisect的用法,区别以及源码分析
bisect_left,bisect_right,bisect的用法,区别和源码分析
565 0
bisect_left,bisect_right,bisect的用法,区别以及源码分析
|
监控 Java 测试技术
Java性能测试与调优工具使用指南
Java性能测试与调优工具使用指南
|
存储 索引
Elasticsearch索引之嵌套类型:深度剖析与实战应用
Elasticsearch索引之嵌套类型:深度剖析与实战应用
|
监控 iOS开发
iOS15适配问题:viewForSupplementaryElementOfKind表头和表尾复用闪退,UITableView section header多22像素等问题
iOS15适配问题:viewForSupplementaryElementOfKind表头和表尾复用闪退,UITableView section header多22像素等问题
353 0