吴华锦

项目总集

项目

公司项目

  1. 项目总集

个人项目

  1. canvas-utils
  2. react-gadget
  3. node-tbuys
  4. docs
  5. smart_flutter_app
阅读全文

Git异常处理

Git

本地工作区文件恢复

git checkout <filename/dirname>
阅读全文

Git操作文档

Git

提交(Commit)

查看HEAD上最近一次的提交(commit)

git show

git log -n1 -p
阅读全文

功能代码集合

前端

JS原型链

function Person() {}
Person.prototype.name = "abc";
Person.prototype.sayName = function () {
console.log(this.name);
};

let person = new Person();

person.__proto__ = Person.prototype;
String.__proto__ = Function.prototype;
String.constructor = Function;
阅读全文

Vue技术点汇总

前端 Vue

响应式数据

根据数据类型【数组和对象】进行不同处理。

  1. 对象内部通过defineReactive方法,使用Object.defineProperty()监听数据属性的get进行数据依赖收集,再通过set完成数据更新。

  2. 数组则通过重写数组方法实现。扩展7个变更方法(push/pop/shift/unshift/splice/reverse/sort),通过监听这些方法收集依赖和派发更新。

多层对象通过递归实现监听,Vue3使用proxy实现响应式数据。
响应式流程:defineReactive定义响应式数据;给属性增加dep收集对应的watcher;等数据变化进行更新。
dep.depend——get取值,依赖收集;dep.notify——set设置,通知视图更新。

阅读全文
上一页 下一页