E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
vue源码
vue源码
系列06_实现数组的依赖收集
vue源码
系列06_实现数组的依赖收集observer.js总结observer.js在初始化数据的时候,创建一个数组专用的dep给每个对象添加一个ob属性,主要是用于保存当前实例对象(this)在array.js
Happy_Boy_z
·
2020-08-16 05:53
vue源码
vue源码
系列03_数组劫持
vue源码
系列03_数组劫持重写方法array.js重写方法由于是数组的话并不会对索引进行观测,因为会导致性能问题,因为前段开发中很少去操作索引咱用的更多是pushshiftunshitf我们在Observer
Happy_Boy_z
·
2020-08-16 05:52
vue源码
Vue源码
之数据的observer
所以我们打开core/instance/state.js文件找到initState函数exportfunctioninitState(vm:Component){vm._watchers=[]//储存watcher对象constopts=vm.$options//options引用if(opts.props)initProps(vm,opts.props)//初始化propsif(opts.met
z609373067
·
2020-08-16 05:44
vue
Vue源码
之new Vue(二)
1.首先,在
vue源码
中'src/instance/index.js'中可以看到,newVue的过程主要是执行_init()函数。这里的_init()函数来自于'.
web喵喵
·
2020-08-16 05:39
vue源码分析
vue源码
分析之new Vue过程
实例化构造函数从这里可以看出newVue实际上是使vue构造函数实例化,然后调用_init方法_init方法,该方法在src/core/instance/init.js中定义Vue.prototype._init=function(options?:Object){constvm:Component=this//auidvm._uid=uid++letstartTag,endTag/*istanb
Joe?
·
2020-08-16 05:40
Vue源码
学习: 关于对Array的数据侦听
拦截器通过查看
Vue源码
路径vue/src/core/observer/arr
weixin_34183910
·
2020-08-16 05:39
vue源码
解析响应式的流程实现细节(干货)【三】
前言:上一节,我们介绍了依赖收集和依赖触发的原理,虽然知道是通过自定义属性(defineProperty)的get和set进行实现的,但还是不清楚具体实现的细节,以及怎么通过依赖收集和依赖触发实现响应式的,带着这样的疑问,开始探索导读:我将以图形化、流程化和代码层次逐一展开说明官网的响应式原理:深入响应式原理官网的解释:1、普通的JavaScript对象传给Vue实例的data选项时,vue会遍历
weixin_33781606
·
2020-08-16 05:36
Vue源码
之 props data computed 顺序
functioninitState(vm){vm._watchers=[];varopts=vm.$options;if(opts.props){initProps(vm,opts.props);}if(opts.methods){initMethods(vm,opts.methods);}if(opts.data){initData(vm);}else{observe(vm._data={},t
weixin_30291791
·
2020-08-16 05:31
Vue源码
:new Vue发生了什么
newVue来源_init方法callHook()方法initState()方法initData()方法:初始化data来源new关键字在js中代码实例化一个对象,而Vue实际上就是一个类,类在js中用function来定义,源码在src/core/instance/index.js中。functionVue(options){if(process.env.NODE_ENV!=='producti
wangyuye800
·
2020-08-16 05:59
Vue源码
vue源码
学习随笔二——响应式原理
本篇是我学习
Vue源码
的记录,可能有错漏,有不足,甚至半途而废,但是无论怎么样,既然开始学习了,那就留下一些痕迹。不足,错漏欢迎指正。
明长歌
·
2020-08-16 05:21
vue
VUE源码
学习第六篇--new Vue都干了啥(挂载)
一、总述如果说前面的几部分都是准备工作,那么从挂载开始,就进入了正式的渲染工作,直到页面呈现出来。在开始分析代码前,我们可以思考下应该要做哪些工作。1、将template中的各变量,表达式等替换成实际的值。比如:{{item.id}}..varvm=newVue({el:"#app",data:{items:[{id:1},{id:2},{id:3}]}})替换后,形成实际的dom,并渲染出来12
恰恰虎
·
2020-08-16 05:16
前端技术
VUE源码
学习第三篇--new Vue都干了啥(概述)
一、总体分析当我们写下这段简单newVue()代码,vue框架做了什么呢?varvm=newVue({el:"#app",data:{msg:'tttt'}})会调用src/core/instance/index.js的Vue构造方法functionVue(options){if(process.env.NODE_ENV!=='production'&&!(thisinstanceofVue)){
恰恰虎
·
2020-08-16 05:16
前端技术
Vue源码
解析06-手写自己的Vue
Vue源码
解析06-手写自己的Vue最近一段时间一直在研究Vue的源码,突然间想写一个乞丐的Vue实现,为了理一下自己的思路,同时也作为一个阶段性的总结.实现双向数据绑定Vue双向绑定看这里Vue2.0
橘子骑士
·
2020-08-16 05:17
Vue
Vue源码
vue源码
讲解系列之一------声明式渲染new Vue()过程发生了什么
vue源码
解析声明式渲染用模板语法声明式地将数据渲染至DOM{{message}}varapp=newVue({el:'#app',data:{message:'HelloVue!'}})
hello,是翠花呀
·
2020-08-16 05:45
vue
Vue源码
解读(五)---new Vue发生了什么
newVue发⽣了什么从⼊⼝代码开始分析,我们先来分析newVue背后发⽣了哪些事情。我们都知道,new关键字在Javascript语⾔中代表实例化是⼀个对象,⽽Vue实际上是⼀个类,类在Javascript中是⽤Function来实现的,来看⼀下源码,在src/core/instance/index.js中。functionVue(options){if(process.env.NODE_ENV
guxin_duyin
·
2020-08-16 04:48
vue
vue源码
分析系列二:$mount()和new Watcher()的执行过程
续
vue源码
分析系列一:newVue的初始化过程在initMixin()里面调用了$mount()if(vm.$options.el){vm.$mount(vm.
开心大表哥
·
2020-08-16 04:00
vue项目开发
基础加固
vue源码
分析系列一:new Vue的初始化过程
importVuefrom‘vue’(作者用的vue-cli一键生成)node环境下importVuefrom'vue'的作用是什么意思?在NPM包的dist/目录你将会找到很多不同的Vue.js构建版本。这里列出了它们之间的差别:具体参考:官网完整版:同时包含编译器和运行时的版本。编译器:用来将模板字符串编译成为JavaScript渲染函数的代码。运行时:用来创建Vue实例、渲染并处理虚拟DOM
开心大表哥
·
2020-08-16 04:00
vue项目开发
基础加固
render
深度剖析手写 vue 响应式源码 Vue 响应式原理
深度剖析手写vue响应式源码Vue响应式原理简单的来说vue响应式就是当数据改变时,页面就被重新渲染在剖析
vue源码
之前我们需要先了解到Object.definePropertydefineProperty
张小桌
·
2020-08-16 04:13
vue
js
【2019 前端进阶之路】深入 Vue 响应式原理,从源码分析
本文会结合
Vue源码
分析,针对整个响应式原理一步步深入。当然,如果你已经对响应式原理有一些认识和
weixin_33890526
·
2020-08-16 04:41
vue源码
(八) new Vue时发生的那些事
一段时间的总结今天就从new一个Vue实例开始,把一些过程捋一遍调试首先github上下载2.6.9版本的源码接下来就是怎么开启调试了:按照以下步骤来npmi安装依赖(用cnpmyarn都可)//因为vue是通过rullup进行打包npminstallrullup-g全局安装rullup打包工具//package.json中修改scripts中的dev加上--sourcemap"dev":"rol
Coder小鹿
·
2020-08-16 04:39
vue
源码
javascript
vue源码
(七) state.js data、props、watch、computed、methods属性的初始化和响应化
今日目标:state.js路径:src\core\instance\state.js今天就分析这十三个函数,任务艰巨!首先,有一个共享属性定义//共享属性定义constsharedPropertyDefinition={enumerable:true,configurable:true,get:noop,//空函数set:noop}proxy作用:做一层代理,将app.data.name变成app
Coder小鹿
·
2020-08-16 04:38
javascript
源码
vue
vue
proxy
javascript
vue.js
vue源码
(十) 进行响应式前的准备大纲以及Observer文件夹逐行注释
今日达成:大纲准备完毕大纲准备花4天将这些整理完毕,分享给大家,因此下一期将在4天后!这里先把所有文件的注释奉上Object.defineProperty发布订阅模式Observer类方法构造函数内部实现数组和对象的响应式protoAugmentcopyAugmentarray.js数组方法响应式walkobserverArraydefineReactive深层遍历childOb=!shallow
Coder小鹿
·
2020-08-16 04:07
源码
vue
javascript
vue
javascript
vue源码
(九) 响应式入口 observer/index.js分析
今日目标:找到响应式文件(憋一发大的)路径:src\core\observer\index.js在之前提到过流程中,出现过许多次“将其添加到观察者中”、“将其响应化”、“通过defineReactive将其添加到观察者中”诸如此类的描述这些其实就是对vue响应式的描述,提到过这么久的响应式,今天将带领大家进入这神奇的世界,看看他的入口入口src\core\instance\state.js在ini
Coder小鹿
·
2020-08-16 04:07
vue
源码
javascript
Vue响应式原理
vue源码
(十一)
前言看过很多讲响应式的文章,大多都是告诉你们,有Observer,Dep,Wathcer类,Object.definePorperty,先会触发get中的dep.depend收集依赖,然后数据改变时,会触发set中的dep.notify去通知Wathcer执行它的update方法,这样响应式就完成了这只能说是一个粗略的总结,如果我告诉你,Watcher的update方法其实只是一个调用其他函数的方
Coder小鹿
·
2020-08-16 04:52
vue
源码
javascript
vue
javascript
dom
vue源码
学习——目录设计
src目录下compilercompiler目录下包含了vue.js所有编译相关的代码。corecore目录下包含了Vue.js的核心代码,包括内置组件、全局API封装、Vue实例化、观察者、虚拟DOM、工具函数等等platfomsvue.js是跨平台的MVVM框架,可以跑在Web上,也可以配合weex跑在native客户端上platfoms是vue.js的入口下面的web目录与weex目录代表两
小馋猫s
·
2020-08-16 03:39
vue
vue源码
学习——数据驱动
vue的核心思想?数据驱动什么是数据驱动?数据驱动指的是视图是由数据驱动生成,我们对视图的修改不会直接操作DOM,而是修改数据。模版和数据怎么渲染成DOM的呢?1.newVue发生了什么Vue实际是一个类,只能通过new关键字初始化(在JavaScript中类是通过function实现的)可以看到,newVue会调用_init()方法,并且将参数options传给这个方法。合并参数,把参数opti
小馋猫s
·
2020-08-16 03:39
vue
vue源码
学习——认识flow
什么是flow?flow是Facebook出品的静态类型检查工具(vue.js的源码就是利用了flow做静态类型检查)为什么用flow?因为JavaScript是一种动态类型语言,灵活性强,但是过于灵活会带来一些问题,很容易写出非常隐蔽的隐患代码,没有明显的语法错误编译阶段可能不会报错,但是在运行阶段会出现各种bug。类型检查就是在编译阶段发现由类型错误引起的bug,不影响代码的运行,使得编写Ja
小馋猫s
·
2020-08-16 03:38
vue
vue源码
学习——源码构建
Rollupvue.js源码是基于Rollup构建的Rollup和Webpackrollup和webpack都是构建工具,但是webapck更强大一些,会将图片,字体等静态资源编译成JavaScript,但是rollup更适合JavaScript库的编译,只处理js的部分,其他资源部分是不会管的。vue.js源码构建相关的配置在scripts目录下构建过程scripts/build.js构建的入口
小馋猫s
·
2020-08-16 03:08
vue
Vue 生产环境部署
用打包工具如果用webpack或browerify类似的打包工具时,生产状态会在
vue源码
中由
weixin_30640291
·
2020-08-15 19:30
javascript
webpack
json
Vue源码
学习系列01——全局工具函数解析
在我们开始探究vue核心功能之前,先来学习一下
vue源码
中全局的工具函数,看看vue是如何“利其器”的。
大灰狼的小绵羊哥哥
·
2020-08-15 07:20
【Vue2.0-3.0点滴知识
】
Vue 2.3.4源码分析之视图渲染
最近公司一直使用Vue2进行前端开发,正好趁最近时间空闲,阅读了一下
vue源码
。现在我看源码的理解记录如下。这篇博文主要分析视图渲染。
zhoulu_hp
·
2020-08-15 01:07
Vue
Vue整合d3.v5.js制作--折线图(line)
先上效果图(x轴固定为时间轴):图中出现的悬浮框是鼠标悬停效果1、环境说明:vue版本:"vue":"^2.5.2"d3版本:"d3":"^5.9.1"2、Line.
vue源码
1234567import
weixin_30477797
·
2020-08-15 00:15
JavaScript中Promise和setTimeout的区别
最近在看
vue源码
,发现vue中的nextTick异步更新dom操作是先判断是否支持Promise,如果不支持就判断是否支持MutationObserval,如果也不支持的话,最后才是setTimeout
zhoulu_hp
·
2020-08-14 23:04
JavaScript
Vue源码
: 构造函数入口
Vue架构设计Vue目录设计├──scripts-------------------------------构建相关的脚本/配置文件│├──git-hooks-------------------------存放git钩子的目录│├──alias.js--------------------------别名配置│├──config.js-------------------------生成rol
weixin_34001430
·
2020-08-13 21:47
vue源码
解读-构造函数
src/core/instance/index.js此文件主要实现了Vue初始化//引入模块import{initMixin}from'./init'import{stateMixin}from'./state'import{renderMixin}from'./render'import{eventsMixin}from'./events'import{lifecycleMixin}from'.
weixin_33939843
·
2020-08-13 21:39
Vue源码
系列6------Vue实例的挂载
Vue中是通过$mount实例方法去挂载vm的,$mount方法在多个文件中都有定义,如src/platform/web/entry-runtime-with-compiler.js、src/platform/web/runtime/index.js、src/platform/weex/runtime/index.js。因为$mount这个方法的实现是和平台、构建方式都相关的。接下来我们重点分析带
Emily Ching
·
2020-08-13 18:19
前端
#
Vue.js
源码分析
Vue
vue 构造函数---
vue源码
解析(3)
介绍使用vue时候,要先new操作符调用,说明Vue是一个构造函数,所以我们首先要把vue的构造函数搞清楚Vue构造函数的原型npmrundev"dev":"rollup-w-cscripts/config.js--environmentTARGET:web-full-dev",调用scripts/config.js//Runtime+compilerdevelopmentbuild(Browse
鹿杖客
·
2020-08-13 17:31
前端
vue源码
学习-1.Vue实例挂载的实现
通常我们开发都是单h文件组件,借助webpack的vue-loader,将.vue文件里面的template编译成render函数,这是离线时做的,而接下来为了着重分析带compiler版本的vue,先来看一下src/platform/web/entry-runtime-with-compiler.js文件中定首先el不能是bodyhtml因为挂载会替换掉整个元素,如果能挂载再bodyhtml上面
不靠谱的腿哥
·
2020-08-13 12:16
vue源码
分析 - 为什么通过this可以访问到data中的数据
讲data之前,先来看下在newVue()时,发生了什么?当通过importVuefrom‘vue’方式来引入vue,此时在new之前,Vue的原型上已经挂载了许多初始化的属性及方法,通过initMixin(Vue)stateMixin(Vue)eventsMixin(Vue)lifecycleMixin(Vue)renderMixin(Vue)当我们newVue时,会执行以下Vue函数,里边_i
红旗下的小兵
·
2020-08-12 17:58
vue源码分析
Vue源码
分析(二) : Vue实例挂载
Vue源码
分析(二):Vue实例挂载author:@TiffanysBear实例挂载主要是$mount方法的实现,在src/platforms/web/entry-runtime-with-compiler.js
dijiangui5341
·
2020-08-12 14:59
Vue源码
解析:数据双向绑定(响应式)原理之别再说发布者-订阅者模式
每当去找工作面试的时候,当面试官问到vue的双向数据绑定或者响应式原理的时候,面试者总是不加思索的张口就来:采用发布者-订阅者模式。。。。。一顿神侃。真不知道是梁静茹给了你们多少勇气说出的这句话。这么说一定会被面试官认为是背过题的。那么vue的双向数据绑定(响应式)原理到底是什么呢?这还是得从vue的源码说起:我们知道vue的一大特点是数据驱动视图,如何理解数据驱动视图这六个字呢?数据:可以理解为
leelxp
·
2020-08-12 11:57
Vue
Vue 数据双向响应机制
Vue数据双向响应机制参考资料(感谢各位前辈的分享和资料)尤雨溪讲解
Vue源码
Vue源码
解析-Vue中文社区小马哥
Vue源码
解析小马哥
Vue源码
解析代码示范vue-cli源码MDNVue的特点是数据驱动视图
花懒顾
·
2020-08-12 10:14
前端开发
框架
Vue
数据双向响应
Observer
Dep
Watcher
嵌套路由nuxt-child组件(父子页面组件的传值)
这里在pages里新建一个fanil.vue、fanil文件夹2.fanil.
vue源码
FinalPageGoto/homeGoto/indexGoto/childGoto/child2嵌套子页面内容区标签在父页面组件中相当于是子页面组件的占位符
阿蔡啊
·
2020-08-11 22:03
Vue
前端工具
【Vue】理解
Vue源码
系列(五)
我们了解了Vue首次加载过程,之前的分析是建立在有template的基础上的,例如varapp=newVue({template:"hello",el:'#app',})但更多情况我们是传入一个组件来完成Vue的初始化,例如vardemo={name:'demo',template:'hello',}varapp=newVue({template:"hello",el:'#app',render:
Jacano
·
2020-08-11 21:57
vue源码分析
vue
68.Promise和setTimeout的区别
taskmicrotaskqueue会在task后面执行setTimeout返回的函数是一个新的taskmacrotaskqueue所以Promise会先于新task执行根据html标准一个task执行完后ui会重渲染
vue
狼崽子
·
2020-08-11 19:00
vue源码
解析
先注重源码入口,再关注功能细节
vue源码
入口文件://vue-dev/package.json"module":"dist/vue.runtime.esm.js",//支持es6,源码看这里//vue-dev
城南boy
·
2020-08-11 16:04
Vue源码
之createComponent函数(七)
在createElment函数创建vnode时,如果判断tag标签是组件的话,会调用createComponent函数创建vnode在createComponent(定义在'src/core/vdom/create-component.js')中,首先是获得基础构造器baseCtor。这里的context是指向vm实例。在'globalp-api/index.js'中,可以看到option._ba
web喵喵
·
2020-08-11 15:45
vue源码分析
Vue2.x源码——Vue构造函数
在
Vue源码
中,关于Vue构造函数的部分是这样的://vue\src\core\instance\index.jsimport{initMixin}from'.
白水煮青菜
·
2020-08-11 14:53
vue
Vue源码
剖析——render、patch、updata、vnode
有点乱,各种方法交错,很难理清顺序,请海涵flow前置在
Vue源码
里,尤大采用了Flow作为静态类型检查,Flow是facebook出品的静态类型检查工具。为什么要用Flow?
weixin_34315189
·
2020-08-11 14:46
javascript
runtime
json
解密虚拟 DOM——snabbdom 核心源码解读
本文源码地址:github.com/zhongdeming…对很多人而言,虚拟DOM都是一个很高大上而且远不可及的专有名词,以前我也这么认为,后来在学习
Vue源码
的时候发现Vue的虚拟DOM方案衍生于本文要讲的
weixin_34256074
·
2020-08-11 14:09
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他