ts

【访问者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 访问者模式(Visitor Pattern)是一种行为型模式。它封装一个访问者类,把各元素类的操作集合起来,目的是将数据结构与数据操作分离。在不改变原有元素类数据结构的前提下,改变了元素类的执行算法。 当某些较为稳定的东西(数据结构或算法),不想直接被改变但又想扩展功能,这时候适合用访问者模式 ......
设计模式 访问者 语言 模式 Python

[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 类型 数组中有一个元素可有可无 数组中前面固定 ......
ts

【模板方法设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 模板方法模式(Template Method Pattern)也叫模板模式,是一种行为型模式。它定义了一个抽象公开类,包含基本的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构,只是重定义该算法的某些特定步骤。不同的子类以不同的方式实现这些抽象方法,从而对剩余的逻辑有不 ......
设计模式 模板 语言 模式 方法

vue3 ts 网易云信 未读数 手动设置已读已废弃

vue3 ts 网易云信 未读数 //未读数清空 $uikit.resetSessionUnread(store.sessionId.value); 调用接口nim.resetSessionUnread('sessionId')重置会话未读数。将此会话未读数置为0,之后收到消息重新计算未读数。 调用 ......
读数 手动 vue3 vue ts

vue3 + ts + vite 封装 request

npm i axios 目录 request.ts (直接复制可用) import axios from "axios"; import { showMessage } from "./status"; // 引入状态码文件 import { ElMessage } from "element-pl ......
request vue3 vite vue ts

【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 ......
style TypeScript read-only document property

ts文件可以操控vue文件里面的ref元素吗

ts文件可以操控vue文件里面的ref元素吗 export const fileInputElement = ref<null | HTMLElement>(null); 我在ts文件里获得fileInputElement 我能操控vue文件里ref为fileInputElement的元素吗 imp ......
文件 元素 vue ref

【策略设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 策略模式(Strategy Pattern)属于行为型设计模式。将每一个算法封装到具有共同接口的独立类中,根据需要来绑定策略,使得具体实现和策略解耦。 当你想使用对象中各种不同的算法变体,使用if...else 所带来的复杂和难以维护,可使用策略模式。或者当有许多相同类,它们仅在执行某些行为时 ......
设计模式 策略 语言 模式 Python

vue3 ts 项目文件夹解析

vue3 ts 项目文件夹解析 layouts 文件夹通常用于存放应用程序中的布局组件或布局相关的文件。 布局组件是用于包装应用程序中的页面内容的组件,通常包含头部导航、侧边栏、页脚、页面标题等等。布局组件可以在不同的页面中共享,并且可以为应用程序带来一致的外观和体验。 core 存放应用程序中的核 ......
文件夹 文件 项目 vue3 vue

pinia vue3 ts 切换到其他页面后再切回来数据不见了

pinia vue3 ts 切换到其他页面后再切回来数据不见了 刷新有数据,但是切换到其他页面后再切回来数据不见了,我需要切回来后数据还有。 因为我的数据是刷新的话就会watch监视数据有没有改变,但是切换其他页面不会触发 我应该把得到的数据存储到store里面 这样切换其他页面也不会消失 ......
页面 数据 pinia vue3 vue

vue3 ts 写搜索联系人功能逻辑

vue3 ts 写搜索联系人功能 vue <input type="text" v-model="search" placeholder="Search contacts"> <template v-for="(item, index) in filteredData" :key="index"> ......
逻辑 联系人 功能 vue3 vue

一文理解TS泛型

当我们在编写 TypeScript 代码时,经常会遇到需要通用(Generic)的情况,这时候,泛型就是我们的好帮手了。在本篇文章中,我们将深入介绍 TypeScript 泛型的概念以及如何使用。 什么是泛型? 在编程语言中,泛型指的是参数化类型的概念。也就是说,我们可以定义一个函数、接口或类等,能 ......

vue3+ts 数据双向绑定

在 Vue3 中使用 TypeScript 实现数据双向绑定,主要需要以下几个步骤: 1. 创建组件 首先,需要创建一个组件,定义组件所需要的属性和方法,并使用装饰器 @Component 对组件进行装饰,以便可以在 Vue 中使用。 ```typescript import { Component ......
双向 数据 vue3 vue ts

【单例设计模式原理详解】Java/JS/Go/Python/TS不同语言实现

简介 单例模式(Singleton Pattern)属于创建型设计模式,这种模式只创建一个单一的类,保证一个类只有一个实例,并提供一个访问该实例的全局节点。 当您想控制实例数目,节省系统资源,并不想混用的时候,可以使用单例模式。单例有很多种实现方式,主要分为懒汉和饿汉模式,同时要通过加锁来避免线程安 ......
设计模式 原理 语言 模式 Python

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配置组件 ......
vue-router vue element 项目 router

ts中interface转换class

引 在 ts 中 interface 可以表示具体的一种数据结构,但当我们需要将 interface 转换成 class 时,直接使用 interface 的话,会导致一些问题,比如 interface 中的属性无法被继承,所以我们需要将 interface 转换成 class,这里介绍一种方法。 ......
interface class

react hooks ts 项目报Empty components are self-closing

这个错误通常发生在使用 TypeScript 和 React Hooks 的项目中,它表示你的组件没有正确地关闭。这种情况下,编译器会认为空组件语法是自闭合的,但实际上并不是。 要解决这个问题,你需要检查所有的组件,并确保它们都正确地关闭。一般情况下,你应该避免使用空的 JSX 语法,换而言之,你应 ......
self-closing components closing 项目 react

【代理设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 代理模式(Proxy Pattern)是一种结构型设计模式,用一个类来代理另一个类或几个类的功能。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 延迟初始化(虚拟代理)。如果你有一个偶尔使用的重量级服务对象,一直保持该对象运行会消耗系统资源时,可使用代理模式。 访问控制( ......
设计模式 语言 模式 Python Java

ai问答:使用 Vue3 组合式API 和 TS 配置 axios 拦截器 http错误状态

配置 axios 拦截器和http错误状态,可以避免在每个请求方法中都添加冗余的错误处理逻辑,这是拦截器的优势之一 ......
状态 错误 axios Vue3 http

ai问答:使用 Vue3 组合式API 和 TS 封装 websocket

这是一个使用 Vue3 组合式 API 和 TS 封装 websocket 的例子 那么,可以通过组件: 输入消息并点击发送按钮 触发 sendMessage 方法,通过 WebSocket 连接发送消息 接收来自 WebSocket 服务端的响应消息 监听 WebSocket 状态变化 impor ......
websocket Vue3 Vue API TS

【原型设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

简介 原型模式(Prototype Pattern)是一种创建型设计模式,使你能够复制已有对象,而无需使代码依赖它们所属的类,同时又能保证性能。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。 如果你需要复制一些对象,同时又希望代码独立于这 ......
设计模式 原型 语言 模式 Python

【力扣-TS解题】1、回文数

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而 123 不是 来源:力扣(LeetCode) 转为字符串 把数字转为字符串 反转整个字符串 对比两个字符串 funct ......
回文 TS

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: "", // ......
地址 地图 v3 ts

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 ......
defineExpose vue3 2339 vue TS

vue3+ts使用v-for出现unknown问题

title: vue3+ts使用v-for出现unknown问题 date: 2022-12-27 19:00:45 tags: ['Vue','踩坑记录'] categories: ["前端篇"] 最近在写项目时遇到了一个问题,当我从父组件向子组件传数据并且需要将子组件对传入的数据进行v-for循 ......
unknown 问题 v-for vue3 vue

Vite + Vue3 +TS 项目搭建

安装 nvm 略 安装 node 略 使用 Vite创建项目 vite3.x 文档:https://cn.vitejs.dev/guide/#scaffolding-your-first-vite-project 使用 NPM: $ npm create vite@latest 使用 Yarn: $ ......
项目 Vite Vue3 Vue TS