new Vue()的过程

Vue: vue@2.6.14

  1. 'core/instance/index',定义Vue
    • initMixin给Vue的原型定义_init
      • _init 属性的初始化
        • mergeOptions合并参数
        • initLifecycle初始化挂载生命周期相关属性
        • initEvents初始事件相关属性,当父组件绑定到子组件时,供子组件调用
        • initRender初始化slot插槽
        • callHook(vm, 'beforeCreate') 生命周期调用
        • initState 初始化data/method/computed/watch
        • initProvide 初始化provide
        • callHook(vm, 'created') created生命周期调用
        • $mount 调用mountComponent
阅读全文

Vue源码之init

1.Vue

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// src/core/instance/index.js
function Vue (options) {
if (process.env.NODE_ENV !== 'production' &&
!(this instanceof Vue)
) {
warn('Vue is a constructor and should be called with the `new` keyword')
}
this._init(options)
}

initMixin(Vue)
stateMixin(Vue)
eventsMixin(Vue)
lifecycleMixin(Vue)
renderMixin(Vue)

export default Vue
阅读全文

macOS 12 升级xcode 13后无法打开iOS11.4Simulator解决方法

macOS升级到12 macOS Monterey后,xcode(version 12)提示无法使用,需要升级,升级前还能打开iOS11.4的Simulator,升级后(xcode 13)提示不支持低版本iOS,最低支持iOS12版本,但是项目中又需要用到低版本的系统。

阅读全文

typec快速分离线

材料:

  • 航空插头

  • typec数据线

  • 电烙铁,焊锡、助焊剂等

阅读全文

xbb-utils开发规范

为什么选择开发utils包?

  • 方便代码的快速维护

  • 方便一套代码部署多个项目以及新项目的快速启动

  • 为后期需求踩坑

阅读全文

内存泄漏排查

前言

目前web端在浏览器中操作时,会存在明显的卡顿,而且会越用越卡,初步怀疑是内存泄漏导致。

阅读全文

input超过10^20科学记数法的解决方案

项目中用到input type=”number” 输入框如果数值超过了10的20次方会显示成10exxx或者10e+xxx
解决方案:
1.说服产品,一般情况下不会存在大于10的20次方或者小于是的负10次方的值
2.转换成字符串形式展示

网上找的不是这个不匹配就是那个结果不对,那干脆自己写个好了

阅读全文