- 博客(126)
- 收藏
- 关注

原创 微信小程序面试题
onLoad: 页面加载时触发。一个页面只会调用一次,可以在onLoad的参数中获取打开当前页面路径中的参数。onShow: 页面显示时触发调用。onReady: 页面初次渲染完成时触发,一个页面只会调用一次。onHide: 页面隐藏时触发,如navigateTo或底部tab切换到其他页面等。onUnload: 页面卸载时触发。如redirectTo或navigateBack到其他页面时。
2025-02-25 23:11:52
893

原创 Vue面试题
beforeCreate: 创建前,此时data和methods中的数据都还没有初始化;created:创建完毕,data中有值,未挂载。beforeMount:可以发起服务端请求,去请求数据,数据更新时调用;mounted: 此时可以操作Dom。beforeUpdate: 数据更新时调用;updated: 数据更新完毕,Dom节点也已经更新beforeDestroy:实例被销毁前,此时可以手动销毁一些方法;
2025-02-25 23:06:04
1067

原创 Node.js定义以及性能优化
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,允许开发者使用 JavaScript 编写服务器端代码。它采用事件驱动、非阻塞 I/O 模型,适合构建高性能、可扩展的网络应用。回调函数是作为参数传递给另一个函数的函数,通常用于处理异步操作的结果。例如,在读取文件时,可以传递一个回调函数来处理文件读取完成后的操作。});Promise 是用于处理异步操作的对象,表示一个可能现在、将来或永远都不会完成的操作。
2025-02-25 22:46:20
681

原创 Pinia
1. 更加轻量级:相比 Vuex,Pinia 更加轻量级,因为它不需要使用 Vuex 的一些复杂的概念,如模块和 getter。相比之下,Vuex是一个更完整的状态管理库,它提供了更多的功能,比如模块化、插件和严格模式等。上面的方法都是用来修改单个属性的,如果你需要一次修改多个属性,虽然你可以重复操作上面的方法,但是 pinia 提供了新的方法:store.$patch。// Store 是用 defineStore() 定义的,它的第一个参数要求是一个独一无二的名字,也被用作 id ,是必须传入的。
2025-02-25 22:21:36
534

原创 前端常见面试题-2025
Vue.js 4.0 是在 2021 年 9 月发布。Vue.js 4.0 是 Vue.js 的一个重要版本,引入了许多新特性和改进,旨在提升开发者的体验和性能。以下是一些关键的更新和新特性:Composition API 重构:Vue 3 引入了 Composition API 作为官方推荐的 API 风格,而 Vue 4.0 在此基础上进一步优化和扩展了 Composition API,使其更加灵活和强大。
2025-02-17 22:45:15
1826

原创 Vue3的Composition API
Vue 3 引入了 Composition API(组合式API),这是一种新的编写组件逻辑的方式,旨在解决 Options API 在某些场景下的局限性。Composition API 提供了更灵活和强大的代码组织方式,特别适合处理复杂组件的逻辑复用和代码组织。
2025-02-17 17:49:43
951

原创 table列表勾选(单选)
table列表勾选单选使用:row-selection="rowSelection"table列表 htmlJS:使用:row-selection=“rowSelection”table列表 html<a-table :columns="columnsTan" :data-source="submitForm.tableDatTan" :pagination="paginationTan" @change="handleTableChangeTan"
2021-07-30 16:40:00
2246

原创 table列表勾选(多选)
table列表勾选实现上面列表勾选,点击确认按钮,到下面列表点击人员设置按钮出现弹窗弹窗内容 htmljsJSON.JS数据源实现上面列表勾选,点击确认按钮,到下面列表点击人员设置按钮出现弹窗<a-table :columns="columns" :data-source="searchForm.tableData" :pagination="pagination" @change="handleTableChange" :loading="tableL
2021-07-30 16:30:48
1623

原创 vue3.0 列表展开-子列表
列表展开-子列表htmljsJson.js存放数据html使用table的属性:expandedRowsChange,expandedRowKeys,expand以及expandedRowRender<template #expandedRowRender="{}">里面写下面表格的内容<a-table @expandedRowsChange="expandedRowsChange" :expandedRowKeys="searchForm.expandedRowK
2021-07-30 14:12:54
1242

原创 ant design 里面的Select控件在多选模式下支持一键全选/空选
ant design 里面的Select控件在多选模式下支持一键全选/空选html:使用 dropdownRender 对下拉菜单进行自由扩展(可自定义下拉框里面的东西)。是给下拉框的数据占位是给按钮占位<a-form-item label="接收单位" name="receiveOrgIdStr"> <a-select v-model:value="formState.receiveOrgIdStr" style="width: 100%"
2021-05-08 16:10:30
3408
1

原创 列表新增修改弹窗
列表新增修改弹窗,删除新增编辑弹窗新增编辑弹窗html:点击新增编辑按钮,出现弹窗,进行新增和编辑列表数据<div style=" display: flex; justify-content: flex-end; flex-wrap: wrap; padding: 20px; " > <a-button type="primary" @click="addList">新增</a-button></div><a-table
2021-05-06 14:56:14
886

原创 vue获取查询列表数据
vue获取查询列表数据搜索条件 列表数据搜索条件 列表数据html:<!-- 查询条件 --><div class="evaluateList_seach"> <a-form layout="inline" :model="searchForm"> <a-row> <a-col :span="18"> <a-row> <a-col :span="8" styl
2021-05-06 14:36:58
6446
原创 02-Canvas-fabric.BaseBrush绘图工具
fabric.BaseBrush,你可以实现各种绘图工具,例如自由绘图、直线、矩形、圆形等。
2025-03-14 16:28:19
353
原创 02-Canvas-fabric.ActiveSelection
当用户在画布上选择多个对象时,Fabric.js 会自动将这些对象包装在fabric.ActiveSelection 实例中,以便统一操作(如移动、缩放、旋转等)。fabric.ActiveSelection 用于表示当前选中的多个对象(即多选状态)。它具有分组的功能,默认临时分组。
2025-03-14 13:30:04
301
原创 基本数据类型
JavaScript中弹出框的类型JavaScript中弹出框的类型JavaScript中弹出框的类型JavaScript中弹出框的类型JavaScript中弹出框的类型。
2024-09-11 17:41:15
363
原创 uni-app搭建h5项目
5. 打包试一下看看能不能放到nginx以及服务器上去。打包没问题之后再开发页面。运行即可,生成的路径在浏览器中可以打开,说明打出来的包可以在服务器中用。二、找到使用vue-cli命令行,按照文档上的步骤进行搭建。3)cmd切换到打包过的项目的目录地址。打包之后出现一下dist文件。2)查看是否下载完成。
2024-02-21 15:35:45
2402
1
原创 MySQL的安装以及卸载
以管理员的身份打开cmd,输入命令mysql -u root -p,会让出入密码,就是上面安装的时候设置的密码为root,可以看到输出welcome to the mysql…全部点确定,关闭环境变量配置窗口,然后再用管理员的身份打开cmd,输入命令mysql -u root -p再看是否成功,如果依然不行,卸载重新进行安装。可以看到下载到了C:\ProgramData\MySQL,一般ProgramData是个隐藏目录,手动打开隐藏目录可以看到。找到mysql,点击右键卸载即可。打开安装包,点击下一步。
2023-08-17 17:54:10
1199
1
原创 git常用命令
git clonegit add .git pushgit pullgit branch 查看本地分支git branch -a 查看远程分支git branch -d xxx 删除分支git checkout xxx 切换分支git checkout -b xxx 新建分支并且切换到改分支git branch -m 旧分支名 新分支名 分支重命名git status 查看修改的文件git merge 合并分支。
2023-05-28 20:35:34
961
原创 菜单权限管理控制怎么实现的-M
在系统管理有一个专门的页面进行菜单配置,提交给后端,后端返回回来一个列表,通过id和parentId渲染这个菜单列表。权限控制,一般后端根据不同的角色返回不同的列表即可,也可以前端根据判断条件进行fittle过滤。
2023-05-21 23:01:17
291
原创 Vue中的nextTick是用来做什么的,解决什么问题的-M
Vue采用了数据驱动视图的思想,但是在一些情况下,仍然需要操作DOM。因为在created()钩子函数中,页面的DOM还未渲染,这时候也没办法操作DOM,所以,此时如果想要操作DOM,必须将操作的代码放在nextTick()的回调函数中。在数据变化后执行的某个操作,而这个操作需要使用随数据变化而变化的DOM结构的时候,这个操作就需要方法在nextTick()的回调函数中。由于Vue的DOM操作是异步的,所以,在上面的情况中,就要将DOM2获取数据的操作写在$nextTick中。
2023-05-21 18:31:49
984
原创 for in 和for of的区别-M
② for in 可以遍历对象,for of 不能遍历对象,只能遍历带有iterator接口的,例如Set,Map,String,Array。① for in 和 for of 都可以循环数组,for in 输出的是数组的index下标,而for of 输出的是数组的每一项的值。for in遍历的是对象的属性,以及原型链上的属性,for of遍历的是数组的对象。两种方法之间的区别就是它们两者都可以用于遍历。
2023-05-21 18:00:52
154
原创 diff算法,递归-M
diff算法是一种通过同层的树节点进行比较的高效算法。diff算法的目的就是找出新旧不同虚拟DOM之间的差异,使最小化的更新视图,所以 diff 算法本质上就是比较两个js对象的差异。特点:diff整体策略为:深度优先,同层比较。
2023-05-21 17:45:54
396
原创 路由守卫的几种方式-M
路由守卫:就是在路由跳转的过程中触发的钩子函数,可以在每一个钩子函数里面进行相应的操作,例如说,路由拦载,在访问页面的时候需要登录验证,如果登录过了,直接显示,没有登录显示在登录页面,还可以终止路由跳转。to: Route: 即将要进入的目标路由对象(to是一个对象,是将要进入的路由对象,可以用to.path调用路由对象中的属性)next: Function: 这是一个必须需要调用的方法,执行效果依赖 next 方法的调用参数。from: Route: 当前导航正要离开的路由。
2023-05-21 17:21:34
1131
原创 箭头函数与普通的函数有什么区别-M
在 js 中,像命名式函数、函数表达式都称为普通函数。对于普通函数,需要用function关键字来声明。而箭头函数则不需要使用function关键字,在箭头前面的括号里面写参数,后面的大括号里面写方法体。箭头函数语法更加简洁清晰。
2023-05-18 19:48:43
434
原创 深拷贝和浅拷贝-M
首先基本数据类型分为:number,string,boolean,null,undefined,symbol以及未来ES10新增的BigInt(任意精度整数)七类。引用类型分为Array,Object,Function,正则等。
2023-05-18 18:25:40
513
原创 Vue的响应原理-M
首先我们需要通过Object.defineProperty()方法把数据(data)设置为getter和setter的访问形式,这样我们就可以在数据被修改时在setter方法设置监视修改页面信息,也就是说每当数据被修改,就会触发对应的set方法,然后我们可以在set方法中去调用操作dom的方法。 此外,如果页面有input用v-model绑定数据,我们需要在这种绑定了data的input元素上添加监听,添加input事件监听,每当input事件被触发时,就修改对应的data。
2023-05-16 18:51:59
144
原创 Vuex状态管理模式-M
Vuex 是一个专为 Vue.js 开发的状态管理模式。主要是是做数据交互,父子组件传值可以很容易办到,但是兄弟组件间传值(兄弟组件下又有父子组件),页面多并且一层嵌套一层的传值,非常麻烦,这个时候我们就用vuex来维护共有的状态或数据。vuex一共有五大核心概念actions:提交的是 mutations,而不是直接变更状态,它可以包含任意异步操作。
2023-05-10 18:23:21
669
原创 vue3.0子组件调用父组件的方法 - 发布订阅者模式
是通过emit向父组件传递一个dialogBegin 方法,父组件接受这个方法,然后去改变变量addVisible,让弹窗打开。父组件通过v-on(@)绑定一个事件方法,方法名与子组件定义的一样dialogBegin。注意:使用emit去发送。点击新增按钮,触发父组件中的弹窗。emit有两种注册方式。
2022-11-25 17:40:29
482
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人