- 博客(133)
- 收藏
- 关注
原创 过渡属性 height 设置 auto 不起作用
transition 在过渡时 无法将 auto 转换为 px,所以设置必须是具体数值,否则没有过渡效果。操作 dom 对具体的数值进行转换。
2024-06-06 16:43:13 254
原创 React 基础案例
2、react-dom:react渲染在不同平台所需要的核心代码。原生使用的是命令式编程,react使用的是声明式编程。3、babel:将jsx转换成React代码的工具。:表明想要做什么,应该做什么,但是不指定具体怎么做。1、react:包含react所必须的核心代码。:每做一个操作,都是计算机(浏览器)一步步命令。React开发必须依赖三个库。3、npm管理(脚手架使用)2、下载后,添加本地依赖。3、多平台适配yuan。
2024-05-10 16:17:19 398
原创 React 脚手架
package.json 对应用程序的描述:包括应用名称、版本号、依赖包、项目的启动、打包等。serviceworker.js 默认帮助我们写好的注册PWA相关的代码。logo192.png 被在 mianfest.json 中使用。logo512.png 被在 mianfest.json 中使用。App.test.js App组件的测试代码文件。index.js 整个应用程序的入口文件。App.css App组件相关的样式。App.js App组件的代码文件。
2024-05-10 16:15:08 322
原创 typescript 命名空间、装饰器
命名空间:在代码量较大的情况下,为了避免各种变量命名的冲突,可将相似功能的函数、类、接口等放置到命名空间内。(1)类装饰器:类装饰器是在类声明之前被声明(紧靠着类声明)。通俗的讲装饰器就是一个方法,可以注入到类、方法、属性参数上来扩展类、属性、方法、参数的功能。装饰器是一种特殊类型的声明,它能够被附加到类声明,方法,属性或参数上,可以修改类的行为。常见的装饰器有:类装饰器、属性装饰器、方法装饰器、参数装饰器。装饰器的写法:普通装饰器(无法传参)、装饰器工厂(可传参)类装饰器 重载构造函数。
2024-05-09 10:14:13 285
原创 typescript 模块化
模块里面的变量、函数、类等默认是私有的,如果我们要在外部访问模块里面的数据(变量、函数、类),需要通过export暴露模块里面的数据((变量、函数、类...)在当前目录下 npm init 生成 package.json 文件,添加 "type": "module"暴露后我们通过 import 引入模块就可以使用模块里面暴露的数据。把一些公共的功能单独抽离成一个文件作为一个模块。
2024-05-08 11:22:02 341
原创 typescript 模拟数据统一封装 增删改查 例
要求:Mysql、Mssql、MongoDb功能一样,都有add、update、delete、get方法。1、接口:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范。功能:定义一个操作数据的库,支持 Mysql、Mssql、MongoDb。解决方案:需要约束规范所以要定义接口,需要代码重用所以用到泛型。2、泛型:解决类、接口、方法的复用性。注意:约束统一的规范、以及代码重用。
2024-05-07 14:46:44 292
原创 typescript 中的泛型
泛型:解决 类、接口、方法的复用性、以及对不特定数据类型的支持。传入的参数与返回参数类型一致。把类当作参数来约束数据传入的类型。
2024-05-07 14:16:07 164
原创 typescript 中的接口及其用途
接口:定义行为动作的规范属性接口、函数类型接口、可索引接口、类类型接口、对批量方法传入参数进行约束接口:行为和动作的规范,对批量方法进行约束封装ajax接口定义2、函数接口类型。
2024-05-07 10:08:17 238
原创 typescript 中的类、继承、修饰符、静态属性方法、抽象类、多态
用 abstract 关键字定义抽象类和抽象方法,抽象类中的抽象方法不包含具体实现并且必须在派生类中实现。抽象类和抽象方法用来定义标准,标砖:Animal 这个类要求它的子类必须包含 eat 方法。protected(保护类型): 在类里面、子类里面可以方法,在类外面无法访问。多态属于继承,父类定义一个方法不去实现,让继承它的子类去实现,每一个子类有不同的表现。public(公有):在类里面、子类、类外面都可以访问。父类与子类有同样的方法,在调用子类方式时,先找子类的方法。1、ts 中类的定义。
2024-05-06 15:52:39 464
原创 es5中的类和静态方法、继承详解
组合继承也可以写为 Wmerge.prototype = Merge.prototype。(2) 原型链实现继承 可以继承构造函数里面的属性和方法 也可以继承原型链上的属性和方法。(3)原型链 + 构造函数 的 组合继承模式。(1)对象冒充实现继承。
2024-04-30 16:57:24 324
原创 typescript 中的函数
/ es5定义函数的方法// 函数声明// 匿名函数// ts中定义函数的方法// 函数声明// 匿名函数// ts 中定义方法传参console.log(getInfo('无名', 18));// 没有返回值的方法runV()
2024-04-30 15:17:29 221
原创 typescript 中的数据类型
布尔类型(boolean)、数字类型(number)、字符串类型(string)、数组类型(array)、元组类型(tuple)、枚举类型(enum)、任意类型(any)、null 和 undefined、void 类型、neve r类型。typescript 中为了使编写的代码更规范,更有利于维护,增加了类型校验。
2024-04-30 11:57:38 112 2
原创 typeScript 安装
打开PowerShell:按下Win+X,然后选择“Windows PowerShell(管理员)”。(1)在对应的目录下 打开终端 tsc --init 生成一个tsconfig.json文件。在终端输入 tsc index.ts 会将其生成一个对应的index.js文件。运行以下命令来查看系统的执行策略:Get-ExecutionPolicy。(3) 终端 -> 运行任务 -> tsc 监视 tsconfig。在电脑上首次使用TS的时候,执行TS 的命令的时候报错。查看是否安装成功 tsc -v。
2024-04-29 17:11:50 418
原创 React 语法
JSX是一种JavaScript的语法扩展,可以用于描述UI界面,可以与JavaScript融合在一起使用。3、JSX中的标签可以是单标签,也可以是双标签(如果是单标签必须是/结尾<App/>)2、通常在JSX的外层包裹一个小括号(),方便阅读,并且JSX可以换行书写。(2)比如UI中需要展示数据状态,在某些状态发生改变时,又需要改变UI。2.当变量是null、undefined、Boolean类型时,内容为空。(1)比如UI需要绑定事件(button、a原生等等)1、条件判断语句(适合逻辑较多的情况)
2024-04-25 16:18:38 455
原创 ES5、ES6类的定义
1、想要给类中传值,在ES6里面所有的类都可以实现一个方法 constructor(构造方法)2、可以当成普通函数调用,但一般都通过new关键字调用,通过关键字调用会生成一个新的对象。3、通过new关键字创建的对象,给当前的this绑定成新创建的对象。2、类中定义方法直接写在类里面,与ES5中原型绑定方法效果是一致的。(2)多态的前提(弱类型语言鸭子类型)4、给当前类定义一个方法,通常绑定在原型上。1、类名首字母一般都是大写。
2024-04-24 15:21:03 408
原创 React + Ts + Vite + Antd 项目搭建
tsconfig.json,注意:这里的字符与目录一定要与vite.config.ts中的配置保持一致。下载icon:npm install @ant-design/icons --save。安装path npm i @types/node --save-dev。下载完毕后,默认语言为英文,需要在main.ts中注入并配置antd。(3)在scr/main.tsx文件中配置路由模式。(2)在scr/App.tsx文件中加入。vite.config.ts中配置跨域。选择 typescript。
2024-04-16 16:41:24 1122
原创 vue定义公共方法
3、由于vue3中无法直接获取实例对象,可以先将其解构出来在进行调用。1、创建公共方法的js文件,放入常用的函数。2、在main.js文件中挂载。
2024-04-15 11:47:49 401 1
原创 前端实现浏览器打印
浏览器的print方法直接调用会打印当前页面的所有元素,使用iframe可以实现局部打印所需要的模块。组件printView,将传入的信息放入iframe中,调用浏览器的打印功能。
2024-03-01 16:15:25 457
原创 自定义数组,循环展示对象数据,vue3监视数组
content: '内容',message: '信息'需要展示的键值对放入数组中。data: '数据',
2023-12-04 16:35:13 537
原创 路由不变,页面刷新
/ 跳到该路由页面后,再替换为from.path来源路径。title: '用于同路由刷新'跳转页面,再重新跳回来不需要打开中转页,// 在路由跳转前添加时间戳。
2023-09-12 11:47:33 297
原创 函数式编程—柯里化
在函数式编程中,我们往往希望一个函数处理的问题尽可能的单一,而不是将一大堆的处理过程交给一个函数来处理,那么我们就可以将每次传入的参数在单一的函数中进行处理,处理完后在下一个函数中在使用处理后的结果。2、写的时候保证了函数的纯度,只是单纯实现自己的业务逻辑即可,不需要关心传入的内容是如何获得的或者依赖其他的外部变量是否已经发生了修改。把接收多个参数的函数,变成接受一个单一参数(最初函数的第一个参数),并且返回接受余下的参数,而且返回结果的新函数的技术。在之后使用返回的函数时,我们不需要再继续传入num了。
2023-05-30 16:50:29 157
原创 JavaScript引擎,V8引擎的原理
小程序的渲染层和逻辑层分别由2个线程管理:渲染层的界面使用了WebView 进行渲染;一个小程序存在多个界面,所以渲染层存在多个WebView线程,这两个线程的通信会经由微信客户端(下文中也会采用Native来代指微信客户端)做中转,逻辑层发送网络请求也经由Native转发,小程序的通信模型下图所示。小程序的运行环境分成渲染层和逻辑层,其中 WXML 模板和 WXSS 样式工作在渲染层,JS 脚本工作在逻辑层。我们所编写的js无论h是交给浏览器或者node执行,最后都是需要被CPU执行的。
2023-05-29 16:24:02 529
原创 浏览器的工作原理
CSS由CSS Parser进行解析成 css规则 最终被应用到DOM上,DOM Tree和css规则结合在一起, 生成一个新的东西,叫做Render Tree(渲染树),最后有一个layout引擎对Render Tree里面的东西在做一些具体的操作(最终的展示效果需要根据浏览器的状态进行调整,例如布局视口发生变化)生成一个最终的Render Tree进行绘制。node本质上是一个js的运行环境,因为它里面有一个js引擎(v8引擎)不同的浏览器是不同的内核组成的(浏览器的内核指的是浏览器的排版引擎)
2023-05-26 18:21:21 74
原创 cookie和session
服务器就可以通过检查浏览器发回的cookie来识别出不同的浏览器cookie的不足。而我们在实际的使用中,却又大量的有这种需求,我们需要通过会话控制来解决该问题。HTTP协议是一个无状态的协议,它无法区分多次请求是否发送自同一客户端。cookie本质是一个存储在浏览器的文http 请求自动传递给服务器。浏览器再次访问服务器时,会以请求头的形式将cookie发回。服务器以响应头的形式将cookie发送给浏览器。浏览器收到以后会自动将cookie保存。cookie是什么?
2023-05-26 10:52:54 59
原创 组件间通信--props
default(){ return [1,2,3]} // 对象默认值必须return。数组形式接收:props:['title'],数组接收的变量与父组件传过来的名字必须相同。自定义组件中,原生事件是不生效的,想让原生事件生效,在事件名后面添加.native修饰符。type: String //大写。default: '默认文字'uniapp创建组件无需引入定义,直接使用即可。子组件不做任何数据处理,返回给父组件进行处理。emit传多个值的时候,可以传一个对象。props--emit子向父传值。
2023-05-23 18:08:13 558
原创 uniapp(切换页面保存上一页的数据,路由传参特殊字符)、换行显示省略号
使用 encodeURIComponent() 进行转码,下一个页面使用 decodeURIComponent() 解码。uniapp 当前页返回到上一页时,保留当前页的数据,修改上一页对应的数据。uniapp 页面路由传参的时候带有特殊字符:/*
2023-05-22 18:04:48 1336
原创 uniapp卡片式轮播图
change绑定卡片滑动事件,当前项n+1滑动,当走到最后一页,继续循环。动态绑定类,当目标项为当年项,添加过渡动画。使用原生的swiper组件标签。
2023-03-17 09:14:11 769
原创 uniapp路由跳转
保留当前页,跳转到指定页,非tabBar;使用 uni.navigateBack 可以返回到当前的页面。关闭当前页,跳转到指定页,非tabBar;将无法回到当前页面。只能用于跳转到tabbar页面,并关闭其他非tabbar页面。是关闭所有页面,跳转到指定页,非tabBar的页面。
2023-03-15 14:53:59 258
原创 Android平台签名证书(.keystore)
Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份。可以使用JRE环境中的keytool命令生成。1、安装jre环境,将jre安装路径添加到系统环境变量。变量值填写刚刚java的安装路径。变量名填写:JAVA_HOME。变量名填写:CLASSPATH。命令窗口输入:java -version。(1)设置值JAVA_HOME。(2)设置CLASSPATH。jre的安装及环境变量配置。
2023-03-14 09:18:15 737
原创 uniapp的基本使用
如果应用是一个多 tab 应用,可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页。文件用来对 uni-app 进行全局配置,决定页面文件的路径、窗口样式、原生的导航栏、底部的原生tabbar 等。tabBar 中的 list 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。启动模式配置,仅开发期间生效,用于模拟直达页面的场景,如:小程序转发后,用户点击所打开的页面。文件是应用的配置文件,用于指定应用的名称、图标、权限等。
2023-03-13 21:47:57 620
原创 TypeScript(单独运行ts、webpack运行ts)
TypeScript(单独运行ts、webpack运行ts)以及node_modules为什么不能进版本库
2022-10-23 22:30:38 1689 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人