- 博客(89)
- 收藏
- 关注
原创 vue3 diff算法
/ 老vnode最后一个节点的索引。// 新vnode最后一个节点的索引。//判断key type是否相等。// 新vnode的数量。
2024-09-10 15:38:35
1388
原创 知识点题目集合
History模式:通过HTML5的history对象,使用pushState、replaceState、popState(前进后退时触发)来监听url的变化,通过修改历史记录来修改url。在二级目录刷新时,在客户端找不到对应的路由,会进行http请求,报错404,所以需要后端配合,配置所有的入口文件为index.html。是前端路由匹配的两种模式,不涉及服务器,是利用浏览器的hash和history来实现,两者都是利用浏览器的自身特性,通过客户端来进行路由匹配,不会触发完整的http请求。
2024-07-26 17:42:41
547
原创 20240229笔记
foo:'bar'//get捕获器的参数get(target,property[,receiver])// }//简洁的写法//捕获所有方法,利用Reflect转发给对应反射API的空代理来实现foo:'bar',//get捕获器的参数get(target,property[,receiver])!!//获取foo和baz属性时,显示的结果不一样。
2024-02-29 21:13:17
515
原创 《网络是怎样连接的》-户根勤
第一章:浏览器生成消息第二章:用电信号传输TCP/IP数据,协议栈和网卡第三章:网线和网络设备,集线器、交换机和路由器第四章:接入网和网络运营商第五章:服务器端的局域网第六章:Web服务器的响应和浏览器的接收数据并显示
2023-07-08 18:38:37
1962
原创 Nodejs批量处理图片小工具:批量修改图片信息
2.根据需要修改editFileName(filePath, formatName)函数的参数(可选),也可以不改,直接将renameFile.js和img文件夹放在同一个目录下。3.在renameFile.js目录下开启终端,在终端运行node renameFile.js即可。前端小工具:批量修改文件夹里面的图片名称。1.安装nodejs。
2023-05-25 19:14:55
2404
原创 系统集成项目管理工程师备考-2022年下半年软考笔记
以下是看书系统集成项目管理工程师的xmind笔记:20220908第一章内容:20220914第二章:20220914第三章:
2022-08-21 17:02:47
1069
原创 2022随笔笔记
1.mixins:是一种分发Vue组件中可复用功能的方式。混入对象可包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。特点:1.方法和参数在各组件中不共享。2.值为对象的选项,比如methods和components等,选项会被合并,键冲突的组件会覆盖混入对象的方法。2.render函数:vue的渲染函数,比模板更接近编译器。render:h=>h(参数1,参数2tag相关属性,参数3tag的内部html内容)。参数1可以是string/对象/函数,参
2022-05-27 18:10:25
206
原创 vue directives自定义指令的使用
directiveCom.vue:<template> <div> 数量: <input :value="myNum" v-check-num="{key:'myNum',maxval:'1000',minval:'100'}" /> <div v-show="show">测试指令</div> <button @click="toggle">切换一下show</button> &
2022-03-10 13:01:15
5431
原创 Vue的$emit传值
$emit,父组件传data给子组件,子组件通过$emit来触发父组件中绑定在子组件身上的事件,达到改变父组件中的data的方法。下面介绍$emit传值的几种方法:一:$emit传递单值子组件Test.vue:<template><div><div>子组件</div><button @click="changeFather">点击我向父组件传递参数</button></div></tem
2022-03-08 15:22:09
17939
2
原创 Vue原理
在 new Vue() 时, 内部会执行一个this._init() 方法, 这个方法是在initMixin(Vue) 内定义的:export function initMixin(Vue) { Vue.prototype._init = function(options) { ... }}12345当执行new Vue() 后, 触发的一系列初始化都在==_init== 方法中启动, 它的实现如下:let uid = 0Vue.prototype._init = ...
2022-02-22 12:25:15
377
原创 require/exports和import/export
node编程中最重要的思想就是模块化,import和require都是被模块化所使用。遵循规范–require 是 AMD规范引入方式–import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法调用时间–require是运行时调用,所以require理论上可以运用在代码的任何地方–import是编译时调用,所以必须放在文件开头本质–require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量–import
2021-07-03 11:25:20
748
原创 Agora知识点
一.rtm(real-time Messaging):实时消息。Agora RTM SDK是声网提供的用于实现消息通道、呼叫、聊天、状态同步等功能的SDK。rtc(real-time Communication):实时通信。Agora RTC SDK是声网提供的用于实现音频视频实时通信的SDK。二.AgoraRTC全局模块:通过调用API建立连接,控制音视频通话和直播服务。AgoraRTC的方法有:(1)核心方法:createClient:创建本地客户端;(2)本地音视频采集:创
2021-06-26 19:23:38
2188
原创 React项目总结
本文是关于创建一个React项目的记录:项目中使用的技术栈:1.config-overrides.js文件:需要在项目中配置一些webpack配置,需要在根目录下新建一个名为config-overrides.js文件。2.react双向绑定数据中先绑定value属性,如果是函数组件,然后在onChange里面需要写setValue。如果是class组件,然后在onChange里面需要写setState({})3.获取url参数的两种方式:一是在配置路由的时候path="/home
2021-06-19 18:24:55
675
原创 async和await
Promise对象用于表示一个异步操作的最终状态(完成或失败),以及其返回的状态。通过then来绑定成功、失败的回调函数。promise例子:promise1里面的是setTimeout即300毫秒之后再执行resolve('foo')var promise1 = new Promise(function (resolve, reject) {setTimeout(function () {resolve('foo');}, 300)});promise1.t..
2021-05-27 17:14:58
351
原创 react入门
/*第一步:创建新的React应用。执行命令行:npx create-react-app my-appcd my-appnpm start将在页面中显示第二步:Hello World。修改src>app.js为:import './App.css';function App() { return ( <div className="App"> <header className="App-header"> Hel.
2020-12-26 18:59:48
366
原创 基础知识点
Vue注册全局组件:1.在Index.vue文件中建立同级文件index.js2.在index.js中导入Index.vue,全局组件名={install:(Vue)=>{Vue.component('组件名',Index)}},然后导出全局组件名。3.在main.js中导入index.js后,Vue.use(Index)或者不要index.js文件,直接在main.js中导入Index.vue后Vue.component('组件名',Index)。OSI模型:都是下层为上层.
2020-12-05 17:58:31
1055
原创 基础知识点面试题
一:preload和prefetch特点和区别 preload特点: 1.preload加载的资源是在浏览器渲染机制之前进行处理,并且不会阻塞onload事件. 2.preload支持加载多种类型的资源,并且可以加载跨域资源。 3.preload加载的js其加载和执行的过程是分离的。即preload会预加载相应的js,待到需要时自行去调用。 prefetch特点: 1、prefetch加载的资源可...
2020-10-30 19:19:19
591
原创 框架相关的面试题
一:vue双向绑定数据原理:利用发布-订阅者模式来实现。1.Observer类相当于是一个发布者,通过调用defineReactive函数,在defineReactive函数里面,循环遍历data选项里面的数据,利用Object.defineProperty给每一个属性进行数据读取的拦截和监听。2.Dep类相当于是一个调度中心/订阅器,主要是收集观察者watcher和通知观察者目标更新。每一个data选项里面的对象都有一个dep实例,dep.subs里面存放的是watcher数组。3.W
2020-10-30 19:16:25
298
1
原创 vue多页面应用
本文是针对vue.config.js里的pages属性配置。详情见官网https://cli.vuejs.org/zh/config/#pages。Vue.config.js是一个可选的配置文件,其中pages选项是构建多页面应用。需求:vue搭建的项目中,需要多页面,并单独设置路由。目录结构:跟多页面相关的文件在红色框里面。Public文件夹中的index.html和page2.html是配置多页面应用的模板来源。Components里面是公用组件。Pages文件夹里面的.
2020-06-23 19:23:02
1541
1
原创 手动搭建vue项目
本文是手动搭建一个vue项目。第一步:创建一个空的文件夹app。第二步:在app文件里面,执行npm init初始化项目,初始化过程会有项目名和描述的相关信息,一路按enter键即可,完成后会生成一个package.js文件。这文件会记录项目的名称和相关依赖等。第三步:执行npm i –save vue安装vue,执行npm i—save-dev webpack安装webpack。第四步:在app根目录,创建src文件夹,src文件夹里面创建main.js和App.vue。根目录创建webp
2020-06-23 18:52:27
3033
原创 vue中的mixin的使用
mixin是用来分发Vue组件中的可复用功能。一.选项合并,也是局部混入局部混入,如果在组件中需要用到混入对象,则需要在组件中导入混入对象。使用步骤:1.定义混合对象的文件mixin.js并导出myMixin。2.在组件中导入myMixin对象,并在组件中将myMixin混入到mixins属性中。3.在组件中使用myMixin对象的属性和方法。定义mixin.js文件并...
2020-01-18 18:56:47
783
原创 vue.config.js解释
此配置文件的要求是:Vue CLI 3.3起。'use strict'const path = require('path')const defaultSettings = require('./src/settings.js')//将路径片段使用\连接起来形成路径,并规范化生成的路径function resolve(dir) { return path.join(__dirn...
2020-01-06 18:51:53
2494
原创 node基础
一.//用node创建一个应用/*1.引入模块2.创建服务3.监听端口*/const http = require('http');http.createServer((req,res)=>{res.writeHead(200,{ 'Content-Type':'text/plain;charset=utf-8'})res.end('生命不息')})....
2020-01-06 18:51:39
199
原创 正则基础
一:正则的创建方式。 /*1.使用构造函数创建*/ var reg1 = new RegExp('helloWorld'); var result1 = reg1.test('helloWorld js'); console.log(result1);//true /*2.使用字面量创建*/ var reg2 = /helloWo...
2020-01-06 18:51:06
160
原创 mvvm和mvc的区别
Mvc:M:模型V:视图C:控制器C可以直接引用m和v,但是m和v不能直接引用c.C和v的交互方式是action-target.M和c是同步的,即m里的数据变了,v也会跟着变化。C只关注数据有没有变化Mvc就像我们写的jquery代码,从接口获取数据,再通过操作dom元素来改变页面;获取的数据相当于model,html相当于view,写的jquery代码相当于c...
2019-10-19 15:52:28
352
原创 函数防抖和函数节流
<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-eq...
2019-09-18 18:43:00
148
原创 es6...运算符
需要具备的知识点:浅拷贝:是将原对象或者原数组的引用直接赋给新的对象,新对象是地址引用,改变新对象的属性会改变原对象的属性。深拷贝:创建一个新的对象,新对象有独立的内存空间,是将原对象或者原数组的各属性的值赋给新对象,改变新对象的属性不会改变原对象的属性。一.对象的...扩展运算符1.对象的拷贝会取出obj1里面所有可遍历属性,拷贝到obj2中。不会拷贝obj1原型上的属性。...
2019-09-18 09:59:56
3977
原创 Slot的使用
Slot的使用Slot有具名插槽和无名插槽。主要作用是占位子,达到在子组件中显示父组件自定义的内容。无名插槽的使用:定义子组件<template> <div> <p>我是子组件</p> <slot>我是子组件自定义的内容</slot></div><...
2019-09-18 09:59:39
663
原创 render的使用
Render是使用js的完全编程能力来渲染页面,即用js来构建DOM.说明:render是一个方法,自带一个形参createElement,这个参数也是一个方法,是用来创建vue 节点的,也就是html模板的,然后渲染(render)到指定的节点上。render函数的目的是创建dom节点。因为createElement是个形参,所以这个形参可以用任何字符替换,比如h。createEleme...
2019-09-18 09:59:30
15611
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人