Vue
weixin_47212352
这个作者很懒,什么都没留下…
展开
-
v-if与v-show
两者不同点:1、手段不同v-if是通过控制dom节点的存在与否来控制元素的显示与隐藏v-show是通过设置dom元素的display样式来控制元素的显示与隐藏2、编译过程不同v-if铁环只有一个局部编译/卸载的过程,切换过程中合适的销毁和重建内部的事件监听和子组件;v-show只是简单的css切换3、编译条件不同v-if是惰性的,假设初始条件为假,则什么也不做;只有在条件第一次为真时才开始局部编译;v-show是在任何条件下都被编译,然后被缓存,而且dom元素保留4、性能消耗v-if有更高原创 2021-10-11 15:16:24 · 36 阅读 · 0 评论 -
Vue双向绑定原理
Vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式实现的。var vm = new Vue({ data: { obj: { a: 1 } }, created: function () { console.log(this.obj); }});可以看到属性a有两个相对应的get和set方法。vue通过Object.defineProperty()来实现数据劫持。通过Object转载 2021-10-11 11:00:38 · 46 阅读 · 0 评论 -
Vue中的data为什么是函数
为了保证组件的独立性和可复用性。data是一个函数,组件实例化的时候这个函数被调用,返回一个对象,这样计算机会为对象分配一个内存地址,实例化几次就分配几个内存地址,这样每个组件中的数据不会相互干扰,改变其中一个组件的状态,其他组件不变。若data是一个对象,里边存放着很多数据,都指向一个地址。如果重复的使用相同的当前组件,每个组件的值都从data:{}对象中获得(相同地址),组件之间就会相互干扰。参考:https://www.cnblogs.com/jinfeixiang/p/12176156.html转载 2021-10-11 10:33:36 · 135 阅读 · 0 评论 -
Vue生命周期
Vue实例有一个完整的生命周期,每个Vue实例在被创建时都需要经过一系列的初始化过程,例如设置数据监听、编译模板、将实例挂载到DOM并在数据变化时更新DOM等。同时在这个过程中也会运行一些叫生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。共4对(8个)声明周期钩子(创建、挂载、更新、销毁)整体流程1、new Vue实例化一个vue实例,然后初始化event和lifecycle。这个过程调用了三个初始化函数,分别初始化了生命周期、事件以及定义creatElement函数。初始化声明转载 2021-10-10 22:47:12 · 56 阅读 · 0 评论