vue

vue.extend,mixins和vue.component的区别

1. Vue.extendVue.extend就是传入一下组件options,然后返回了一个Vue的子类,也可以看做是一个组件构造函数。真的是一个Vue的子类,源码中,使用原型集成和Copy属性和方法形式,将其继承自Vue。constSub=functionVueComponent(options){this...

vue组件和插件是实现

vue组件countdown.vueindex.jsimportcountdownfrom'./countdown.vue'export{countdown}从.vue文件直接引入组件,导出即可,组件就是一堆vue对象的optionsvue插件插件的方便之处,就是可以在install方法种执行任何动作,包括直接用Vue...
代码星球·2020-06-29

vue指令用法

vue指令(directive)一般用于直接对DOM元素进行操作。vue中已经提供的指令有很多:v-text,v-html,v-bind,v-on,v-model,v-if,v-show等等1.指令的定义形式//注册一个全局自定义指令`v-focus`Vue.directive('focus',{//当被绑定的元素插入...
代码星球·2020-06-29

vue和react的diff算法的区别

vue和react的diff算法,都是忽略跨级比较,只做同级比较。vuediff时调动patch函数,参数是vnode和oldVnode,分别代表新旧节点。1.vue比对节点,当节点元素类型相同,但是className不同,任务是不同类型元素,删除重建,而react会认为是同类型节点,只是修改节点属性2.vue的列表比...

React和Vue的区别

1.react更多的是进行视图转换,对状态涉及很少,vue除了处理视图,本身还会管理状态,例如,watch,compouted等2.react不会自动更新视图,只能手动setState,vue基于数据驱动,会自动更新视图3.react更倾向于函数式编程,vue倾向于响应式编程4.虚拟DOM更新机制不同,vue会跟踪组件...
代码星球·2020-06-29

vue scoped原理

vuescoped生成带hashattitude的html,css使用hashattr的属性选择器保持唯一性。例如:<divclass="example">hi</div>.example{color:red;}生成:<divclass="example"data-v-df38f3e>...
代码星球·2020-06-29

vue父子组件生命周期执行顺序

Parent--Child1--Child2装载parentbeforeCreateparentcreatedparentbeforeMountchild1beforeCreatechild1createdchidl1beforeMountchild2brforeCreatechild2createdchild2bef...

vue挂载节点的几种写法(mount或render)

//vue2.x写法newVue({router,render:h=>h(App)}).$mount("#app");//或者newVue({el:'#app',router,render:h=>h(App)});//也可以先得到VirtualDOM,再挂载varcomponent=newMyCompone...

vue的mixin简化开发

vue的mixin可以将多个组件公用的声明周期方法和数据封装成一个对象,在不同的组件中自由插拔。实际做项目的时候,可以定义一些mixin,供多个组件使用。也非常有必要定义一个全局的mixin对象,对所有组件的公共行为进行抽象。可以使用Vue.mixin来定义全局的mixin,推荐。也可以定义一个带mixin的对象,所有...
代码星球·2020-06-29

vue入门教程

vue视频教程(对vue有个概览,要掌握vue-cli的用法,对vue-router,vuex有基本的概念)https://www.imooc.com/learn/10911.vue-clivue-cli有多个版本,这里使用的是vue2.x的版本,不要使用最新版本的,容易踩坑。https://github.com/vu...
代码星球·2020-06-29

vue-router的钩子

vue-router的钩子分为三类:1.全局钩子2.路由独享钩子3.组件内钩子1.全局钩子beforeEach(to,from,next)afterEach(route)2.路由独享钩子beforeEnter(to,form,next)beforeLeave(to,from,next)3.组件内钩子beforeRout...
代码星球·2020-06-29

vue的nextTick的实现

vue的nextTick是用浏览器支持的方法模拟nodejs的process.nextTick老版本的vue用如下方法来模拟Promise.thenMutationObserver(MutationObserver由于兼容性原因被下课)setTimeout(fn,0)新版本的vue用如下方法来模拟Promise.the...
代码星球·2020-06-29

vue父组件中修改子组件样式

1.使用全局样式<style>/*全局样式*/</style><stylescoped>/*本地样式*/</style>2.使用深度作用选择器,必须有vue-loader(11.2.0以上)支持/*a是子组件的顶层class*/<stylescoped>.a&...
代码星球·2020-06-28

vuex总结

vuex的过程规定所有的数据操作必须通过action-mutation-statechange的流程来进行,再结合Vue的数据视图双向绑定特性来实现页面的展示更新。统一的页面状态管理以及操作处理,可以让复杂的组件交互变得简单清晰,同时可在调试模式下进行时光机般的倒退前进操作,查看数据改变过程,使codedebug更加方...
代码星球·2020-06-28

vue双向绑定原理

vue的双向绑定包括两部分1.数据变化更新视图2.视图变化更新数据view变化更新data一般通过事件监听来完成,例如input标签监听input事件即可data变化更新view则是通过Object.defineProperty()的set方法进行,在数据赋值时候,在set方法种执行一个view更新方法,实际上,vue...
代码星球·2020-06-28