ts
【访问者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 访问者模式(Visitor Pattern)是一种行为型模式。它封装一个访问者类,把各元素类的操作集合起来,目的是将数据结构与数据操作分离。在不改变原有元素类数据结构的前提下,改变了元素类的执行算法。 当某些较为稳定的东西(数据结构或算法),不想直接被改变但又想扩展功能,这时候适合用访问者模式 ......
[Typescript] ts-toolbelt F.Narrow preserve the exactly data for function arguement
Example code: interface Fruit { name: string; price: number; } export const wrapFruit = <TFruits extends Fruit[]>(fruits: TFruits) => { const getFruit ......
ts 学习
1、基础类型 let a: (number | String) = new String('123') // String 可以是 new String/ '' 形式, string 则不行 2、数组 数组特殊需求 数组可能是number、string 类型 数组中有一个元素可有可无 数组中前面固定 ......
【模板方法设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 模板方法模式(Template Method Pattern)也叫模板模式,是一种行为型模式。它定义了一个抽象公开类,包含基本的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构,只是重定义该算法的某些特定步骤。不同的子类以不同的方式实现这些抽象方法,从而对剩余的逻辑有不 ......
vue3 ts 网易云信 未读数 手动设置已读已废弃
vue3 ts 网易云信 未读数 //未读数清空 $uikit.resetSessionUnread(store.sessionId.value); 调用接口nim.resetSessionUnread('sessionId')重置会话未读数。将此会话未读数置为0,之后收到消息重新计算未读数。 调用 ......
vue3 + ts + vite 封装 request
npm i axios 目录 request.ts (直接复制可用) import axios from "axios"; import { showMessage } from "./status"; // 引入状态码文件 import { ElMessage } from "element-pl ......
【TypeScript】document.body.style TS 报错 Cannot assign to 'style' because it is a read-only property.ts(2540)
报错信息 解决方法 style对象提供了一个cssText属性,支持设置多种CSS样式: document.body.style.cssText = `width:${targetX}px; height:${targetY}px; transform: scale(${scaleRatio}) t ......
ts文件可以操控vue文件里面的ref元素吗
ts文件可以操控vue文件里面的ref元素吗 export const fileInputElement = ref<null | HTMLElement>(null); 我在ts文件里获得fileInputElement 我能操控vue文件里ref为fileInputElement的元素吗 imp ......
【策略设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 策略模式(Strategy Pattern)属于行为型设计模式。将每一个算法封装到具有共同接口的独立类中,根据需要来绑定策略,使得具体实现和策略解耦。 当你想使用对象中各种不同的算法变体,使用if...else 所带来的复杂和难以维护,可使用策略模式。或者当有许多相同类,它们仅在执行某些行为时 ......
vue3 ts 项目文件夹解析
vue3 ts 项目文件夹解析 layouts 文件夹通常用于存放应用程序中的布局组件或布局相关的文件。 布局组件是用于包装应用程序中的页面内容的组件,通常包含头部导航、侧边栏、页脚、页面标题等等。布局组件可以在不同的页面中共享,并且可以为应用程序带来一致的外观和体验。 core 存放应用程序中的核 ......
pinia vue3 ts 切换到其他页面后再切回来数据不见了
pinia vue3 ts 切换到其他页面后再切回来数据不见了 刷新有数据,但是切换到其他页面后再切回来数据不见了,我需要切回来后数据还有。 因为我的数据是刷新的话就会watch监视数据有没有改变,但是切换其他页面不会触发 我应该把得到的数据存储到store里面 这样切换其他页面也不会消失 ......
vue3 ts 写搜索联系人功能逻辑
vue3 ts 写搜索联系人功能 vue <input type="text" v-model="search" placeholder="Search contacts"> <template v-for="(item, index) in filteredData" :key="index"> ......
一文理解TS泛型
当我们在编写 TypeScript 代码时,经常会遇到需要通用(Generic)的情况,这时候,泛型就是我们的好帮手了。在本篇文章中,我们将深入介绍 TypeScript 泛型的概念以及如何使用。 什么是泛型? 在编程语言中,泛型指的是参数化类型的概念。也就是说,我们可以定义一个函数、接口或类等,能 ......
vue3+ts 数据双向绑定
在 Vue3 中使用 TypeScript 实现数据双向绑定,主要需要以下几个步骤: 1. 创建组件 首先,需要创建一个组件,定义组件所需要的属性和方法,并使用装饰器 @Component 对组件进行装饰,以便可以在 Vue 中使用。 ```typescript import { Component ......
【单例设计模式原理详解】Java/JS/Go/Python/TS不同语言实现
简介 单例模式(Singleton Pattern)属于创建型设计模式,这种模式只创建一个单一的类,保证一个类只有一个实例,并提供一个访问该实例的全局节点。 当您想控制实例数目,节省系统资源,并不想混用的时候,可以使用单例模式。单例有很多种实现方式,主要分为懒汉和饿汉模式,同时要通过加锁来避免线程安 ......
ts简易网络请求封装
utils/axios/type/axios.ts export type ErrorMessageMode = "none" | "modal" | "message" | undefined; export interface RequestOptions { // Splicing reque ......
vite + vue3 + vue-router4 + ts + element plus + pinia + axios构建项目
最后是完整的vite.config.ts、main.ts配置 1、先用vite创建一个项目 npm create vite@latest 2、安装element plus yarn add element-plus @element-plus/icons-vue vite.config.ts配置组件 ......
ts中interface转换class
引 在 ts 中 interface 可以表示具体的一种数据结构,但当我们需要将 interface 转换成 class 时,直接使用 interface 的话,会导致一些问题,比如 interface 中的属性无法被继承,所以我们需要将 interface 转换成 class,这里介绍一种方法。 ......
react hooks ts 项目报Empty components are self-closing
这个错误通常发生在使用 TypeScript 和 React Hooks 的项目中,它表示你的组件没有正确地关闭。这种情况下,编译器会认为空组件语法是自闭合的,但实际上并不是。 要解决这个问题,你需要检查所有的组件,并确保它们都正确地关闭。一般情况下,你应该避免使用空的 JSX 语法,换而言之,你应 ......
【代理设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 代理模式(Proxy Pattern)是一种结构型设计模式,用一个类来代理另一个类或几个类的功能。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 延迟初始化(虚拟代理)。如果你有一个偶尔使用的重量级服务对象,一直保持该对象运行会消耗系统资源时,可使用代理模式。 访问控制( ......
ai问答:使用 Vue3 组合式API 和 TS 配置 axios 拦截器 http错误状态
配置 axios 拦截器和http错误状态,可以避免在每个请求方法中都添加冗余的错误处理逻辑,这是拦截器的优势之一 ......
ai问答:使用 Vue3 组合式API 和 TS 封装 websocket
这是一个使用 Vue3 组合式 API 和 TS 封装 websocket 的例子 那么,可以通过组件: 输入消息并点击发送按钮 触发 sendMessage 方法,通过 WebSocket 连接发送消息 接收来自 WebSocket 服务端的响应消息 监听 WebSocket 状态变化 impor ......
【原型设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 原型模式(Prototype Pattern)是一种创建型设计模式,使你能够复制已有对象,而无需使代码依赖它们所属的类,同时又能保证性能。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。 如果你需要复制一些对象,同时又希望代码独立于这 ......
【力扣-TS解题】1、回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而 123 不是 来源:力扣(LeetCode) 转为字符串 把数字转为字符串 反转整个字符串 对比两个字符串 funct ......
TS学习
TypeScript 在JS的基础上添加类型概念,一个变量生下来是什么变量就是什么变量 TS不能被JS解析器直接执行 xxx.ts不能直接执行 使用ts编译成js TS增加了什么? 1. TS可以使用变量类型 tuple enum interface abstractclass 2. 完全支持JS ......
TS基础
零、TS基础类型 Boolean:true/false let isLogin: boolean = false; // 编译通过 // 后面约定,未强调编译错误的代码片段,默认为编译通过 let isLogin2: boolean = new Boolean(1); //编译报错 //使用构造函数 ......
v3+ts中使用百度地图 附带搜索地址
话不多说 直接上源码 let addressInfo = reactive({ longitude: "", // 经度 latitude: "", // 纬度 province: "", // 省 city: "", // 市 district: "", // 区 address: "", // ......
vue3中使用defineExpose报TS-2339
title: "vue3+ts使用defineExpose报TS:2339" date: 2022-12-29 19:32:44 tags: ["Vue", "踩坑记录"] categories: ["前端篇"] 开头先把错误贴上 src/hooks/usePageSearch.ts:9:27 TS ......
vue3+ts使用v-for出现unknown问题
title: vue3+ts使用v-for出现unknown问题 date: 2022-12-27 19:00:45 tags: ['Vue','踩坑记录'] categories: ["前端篇"] 最近在写项目时遇到了一个问题,当我从父组件向子组件传数据并且需要将子组件对传入的数据进行v-for循 ......