- 博客(44)
- 收藏
- 关注
原创 页面跳转后,默认选中tree节点并高亮显示
操作步骤:1.点击数据连接数,打开弹窗2.点击连接状态跳转到数据连接模块3.默认选中tree的数据源id节点。
2024-01-11 17:15:00 570
原创 js对象操作的14种方法
// 1.获取原型 [[getPrototypeOf]]// 以下 3 种方式都获取到了 obj 的原型,但是只有第一种是函数式方法,是 js 内置提供的方法,推荐使用第一种console.log(Object.getPrototypeOf(obj));console.log(obj.__proto__);console.log(Object.prototype);
2023-02-15 11:26:50 1280
原创 vue2 Object.definProperty响应式原理(面试题)
1、实现一个监听器 Observe:对数据对象进行遍历,包括子属性对象的属性,利用 Object.defineProperty() 对属性都加上 setter 和 getter。这样的话,给这个对象的某个值赋值,就会触发 setter,那么就能监听到了数据变化。并且可以拿到最新值通知订阅者。
2023-02-14 16:59:02 932
原创 vue3 Proxy响应式原理分析(面试题)
在目标对象前架设一层“拦截”,当外界对该对象进行访问的时候,都需要经过这层拦截,而proxy充当的就是这种机制,类似于“代理”的意思,可以在外界访问该对象前进行过滤和改写。(我自己理解的意思就是: 我不直接操作target,而是通过proxy代理target,然后通过handler里的方法来进行一些“拦截”,然后对该对象进行操作。
2023-02-13 15:45:39 1412
原创 (vue3)element-plus自定义主题色+使用icon
ok了,之前因为没下载sass依赖,还试过很多复杂的方法,但都有一些坑,还觉得官网坑人,文档不写清楚,后面研究之后,使用这种方法,真的简单很多,也没出现过坑了。最开始我下载的是其他的依赖 所以怎么用都不生效 很大的坑。
2023-01-03 15:03:11 3309 2
原创 vue组件传值-详细代码版
Vue数据传递关系:父亲、孩子1.$emit / props / v-model父传子 propsFather.vue<template> <div> <h1>家庭资产:{{ fatherM }}</h1> <Child :fatherM="fatherM" /> </div></template><script>import Child fro
2022-01-11 17:02:26 348
原创 vue源码之数据双向绑定
实现思路数据 -> 响应式的数据 Object.defineProperty Proxyinput -> input/keyup -> 事件处理函数的绑定 -> 改变数据相关的DOM -> 数据 => 绑定在一起操作数据的某个属性 -> 对应DOM就改变首先建一个html页面<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8".
2022-01-07 17:16:29 777
转载 js获取近三个月、近一个月、近一周时间
获取近一周时间var end = new Date();var year = end.getFullYear();var month = end.getMonth() + 1;//0-11表示1-12月var day = end.getDate();var dateObj = {};dateObj.end = year + '-' + month + '-' + day;if (day - 7 <= 0) { //如果在当月7日之前 var startMonthDay = n
2021-12-29 11:51:27 2262
原创 JS-防抖和节流
现实中使用场景也挺多,比如搜索框,滚动条,及时保存…使用防抖和节流可以优化性能防抖(debounce)首先以搜索框为例:为了防止接口频繁调用,如果在规定时间内没有再次触发事件,就执行函数;如果规定时间内再次触发,那么当前计时取消,重新开始计时。效果:如果短时间内大量触发同一个事件,只会执行一次函数<template> <div class="about"> <el-autocomplete v-model="state" :fetch-su.
2021-12-02 17:23:19 454
原创 富文本每30秒保存一次(根据内容修改来调动接口)
富文本每30秒保存一次(根据内容修改来调动接口)需求:监听富文本内容的变化, 有改变就触发事件方法:采用节流来控制定时器1. 首先封装一个 throttle.jsexport function throttle(fn, delay) { //节流 let canRun = true; // 通过闭包保存一个标记 return function() { if (!canRun) return; // 在函数开头判断标记是否为true,不为true则return canRun = f
2021-10-21 16:19:28 203
原创 vue+vant适配移动端REM
第一步:下载 npm i -S amfe-flexible第二步:在main.js里面引入 import ‘amfe-flexible’第三步:下载 npm install postcss postcss-pxtorem --save-dev第四步:在根目录新建一个 postcss.config.js 文件第五步:导入// postcss.config.jsmodule.exports = { plugins: { 'postcss-pxtorem': { rootVa
2021-07-12 14:45:58 192
原创 vue框架搭建
第一步:创建项目vue create app第二步:配置依赖elementnpm i element-ui -S// 引入在main.js中import ElementUI from 'element-ui'import './assets/css/element-variables.scss'Vue.use(ElementUI)// 在assets中创建element-variables.scss/* 改变主题色变量 */$--color-primary: #2
2021-06-01 10:03:00 127
原创 vue组件传值的十种方式
vue组件传值的十种方式一、props父传子子组件// 第一种数组方式props: [xxx, xxx, xxx]// 第二种对象方式props: { xxx: Number, xxx: String}// 第三种对象嵌套对象方式//第三种对象默认支持 4 种属性,并且都是非必填的。可以随意使用props: { xxx: { //类型不匹配会警告 type: Number, default: 0, require
2021-05-26 16:37:14 1821
转载 vue3.0中改变router为hash或者history
vue3.0中改变router为hash或者history前言:在这里我们分析总结下vue2.0和vue3.0 改变router为hash或者history 的方法。vue2.0history:const router = new VueRouter({ mode: 'history', routes: [...]})hash:const router = new VueRouter({ mode: 'hash', //或者把这句话注释,默认就是hash routes
2021-05-12 10:07:01 1373
原创 同步和异步的执行顺序
同步和异步的执行顺序首先展示一段代码console.log('start') //第一个执行setTimeout(() => { //排队 console.log('e'), new Promise(resolve => { resolve() }) .then(res => { console.log('f') }) console.log('g')}, 100)a().then(() => {
2021-05-10 18:04:11 1443
原创 Javscript数组的常用方法有哪些?
面试官:Javscript数组的常用方法有哪些?数组基本操作可以归纳为 增、删、改、查,需要留意的是哪些方法会对原数组产生影响,哪些不会?一、操作方法增下面前三种是对原数组产生影响的增添方法,第四种则不会对原数组产生影响push()unshift()splice()concat()push()push()方法接收任意数量的参数,并将它们添加到数组末尾,返回数组的最新长度let a = [];//创建一个数组let count = a.push("ddd","fff");//推
2021-04-30 15:19:34 345
原创 Vue 的父组件和子组件生命周期钩子执行顺序是什么
面试题:Vue 的父组件和子组件生命周期钩子执行顺序是什么加载渲染过程父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted子组件更新过程父beforeUpdate->子beforeUpdate->子updated->父updated父组件更新过程父beforeUpdate->父up
2021-04-29 14:24:43 152
原创 如何使用CSS完成视差滚动效果?
如何使用CSS完成视差滚动效果?视差滚动(Parallax Scrolling)是指多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验我们可以把网页解刨成:背景层、内容层、悬浮层当滚动鼠标滑轮的时候,各个图层以不同的速度移动,形成视觉差的效果使用css形式实现视觉差滚动效果的方式有:background-attachmenttransform:translate3D一、background-attachment作用是设置背景图像是否固定或者随着页面的其余部分滚动值
2021-04-28 17:33:07 892
原创 element input历史查询(模糊查询)以及防抖处理
element input历史查询(模糊查询)html<template> <div> <el-autocomplete v-model="item.tp004" :fetch-suggestions="querySearch" placeholder="请输入证件号码" @select="handl
2021-04-14 10:09:23 970
原创 vue+axios拦截器配置
vue+axios拦截器配置import axios from "axios";import QS from "qs";// import store from '../store/index'import { Message } from "element-ui";import router from "../router/index";// 环境的切换// if (process.env.NODE_ENV == 'development') {// axios.defaults
2021-04-14 09:57:46 213
原创 vue+rem自适应pc端屏幕分辨率(rem适配)
vue+rem自适应pc端屏幕分辨率(rem适配)前方有坑:UI框架部分组件使用JavaScript将css作为内联样式直接写在html标签内,打包适配时不会读取相关css,所以不要写内联样式第一步,安装postcss-px2rem及px2rem-loadernpm install postcss-px2rem px2rem-loader --save第二步,在根目录src中新建util目录下新建rem.js等比适配文件// rem等比适配配置文件// 基准大小const baseSiz
2021-04-14 09:53:48 6681 1
原创 初级web前端面试题
文章目录一、JS1、js基本类型和引用类型2、如何判断js数据类型3、js 拷贝4、事件处理机制5、原型和原型链6、什么是闭包7、事件循环机制(event loop)8、前端模块化9、es6新增特性1.let代替var关键字;2.const3.箭头函数4.字符串模板 : `` 反引号5.字符串和数组新增了一些方法(感觉没怎么用过,自己去了解叭)6.新增基本数据类型symbol(前面介绍过了)7.set集合和map集合8.promise规范9.类的支持二、css和c31.盒子模型2.有哪些行内元素、块级元素3
2020-11-07 15:14:32 6714 1
原创 vue项目打包 发现首页打不开或空白页面
vue项目打包 发现首页打不开首先我们打包成功之后会出现一个dist文件错误版(这样子首页打开就是空白的!!!)接下来我们先建一个vue.config.js在根目录vue.config.jsmodule.exports = { lintOnSave: true, publicPath: './', outputDir: 'dist', assetsDir: 'static'}删掉之前的错误dist,重新打包,就ok了~~~...
2020-11-01 16:20:06 2187 1
原创 vue父子组件传值的三种完整方式
非父子组件之间传值,需要定义个公共的公共实例文件bus.js,作为中间仓库来传值,不然路由组件之间达不到传值的效果
2020-10-22 18:34:09 9757 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人