
vue
给贝贝赚口粮
这个作者很懒,什么都没留下…
展开
-
vue3中ref和reactive联系与区别以及如何选择
vue3中ref和reactive联系与区别以及如何选择原创 2024-01-10 11:11:02 · 1062 阅读 · 0 评论 -
vue的双向绑定原理
一、原理vue2采用数据劫持结合发布者-订阅者模式的方法,通过Object.defineProperty()来劫持各个属性的setter和getter,当数据发生变化时通知订阅者,触发相应的回调,渲染更新视图二、具体步骤1、对于需要observer的数据,通过递归遍历,给它的所有属性(包括子属性)添加上setter和getter,以便数据发生变更时触发setter。原创 2022-11-24 11:28:13 · 931 阅读 · 1 评论 -
vue2为什么只能有一个根节点,而vue3可以是多根节点
因为vdom是一个单根树形结构描述当前视图结构,patch方法在遍历的时候从根节点开始遍历,它要求只有一个根节点。组件也是会转换成vdom,所以也必须满足单根节点要求。原创 2022-11-19 11:33:56 · 2854 阅读 · 0 评论 -
vue实例挂载过程中发生了什么?
挂载过程指的是app.mount()过程,这个是个初始化过程,挂载过程完成了最重要的两件事:初始化和建立更新机制。原创 2022-11-18 22:32:05 · 805 阅读 · 0 评论 -
vue中key的作用
不建议使用数组索引作为key的原因:1、在进行向数组中间插入或删除数据时,数组长度发生了变化,每个值对应的索引也会发生变化,在进行diff比对时会发现新老节点对应key的位置内容发生了变更,会从新进行渲染,造成不必要的性能损失,原创 2022-11-16 23:20:08 · 227 阅读 · 0 评论 -
vue的diff算法
vue中diff算法称为patching算法,由Snabbdom修改而来,虚拟dom想要转换成真实dom则需要通过patch方法转换;原创 2022-11-16 21:46:35 · 416 阅读 · 0 评论 -
vue的生命周期
vue实例在被创建之后都会经过一系列初始化步骤,如需要数据观测、模板编译、挂载实例到dom上,以及数据数据变化时更新dom,在这个过程中会运行生命周期钩子函数,以便用户在特定阶段进行响应的操作。原创 2022-11-16 00:08:01 · 169 阅读 · 0 评论 -
vue中组件之间的通信方式
on在vue3中被移除,所以不建议使用eventbus。$listeners也被移除了。$children也被移除了。原创 2022-11-15 23:26:17 · 137 阅读 · 0 评论 -
vue中v-if和v-for的优先级问题
在vue2中会出现不停的循环,然后每个循环结果做v-if,显然会先渲染出本不想渲染出来的内容,对于这种可以定义一个计算属性,使用filter返回符合条件的列表activeUsers;2、在vue2中v-for优先级高于v-if,而在vue3中v-for优先级低于v-if,vue2和vue3恰好相反,1、实践中最好不要把v-if和v-for放一起。原创 2022-11-15 23:18:51 · 692 阅读 · 0 评论 -
如何配置vue项目在localhost和network均可访问
1、首先在config文件下的index.js中修改host为(但此操作有bug,会导致localhost也变成0.0.0.0)host: '0.0.0.0',所以建议在package.json文件下“script”的“dev”后新增“-host 0.0.0.0”,即:"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 0.0.0.0",2、设置启动后终端显示localh转载 2021-04-14 12:02:39 · 8189 阅读 · 2 评论 -
前端js/vue下载后台传过来的流文件(如excel)并设置下载文件名
参考:https://segmentfault.com/a/1190000020540788#articleHeader4转载 2021-03-15 15:36:10 · 234 阅读 · 1 评论 -
vue项目中v-if的值设置在mounted中不起作用
在mounted中使用jQuery给v-if赋值,但是不起作用主要原因是全局this不能直接在jQuery中使用应先在jQuery外面定义一个变量如_that = this方能使用如:mounted(){ var _this=this; $('p').mouseover(function (){ _this.isShow=false; //这里不能直接用this,this指代当前jQuery选择的内容而不是全局数据,故而不原创 2021-01-27 17:24:54 · 1742 阅读 · 0 评论 -
computed和watch的区别
1、使用缓存,当缓存的依赖发生变化时才会重新计算,否则使用缓存2、不支持异步,如有异步操作则无法监听到数据变化3、当属性值是函数的时候,则默认使用get方法,但是也可以使用set方法,当属性值发生改变时,调用set方法,可读可写时传入的参数必须是对象4、具有响应式返回值,通常会用于模板中。原创 2020-09-10 11:41:57 · 94 阅读 · 0 评论