小甘不长胖.
码龄3年
关注
提问 私信
  • 博客:12,303
    12,303
    总访问量
  • 24
    原创
  • 2,373,938
    排名
  • 1
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2022-04-21
博客简介:

gzz888的博客

查看详细资料
个人成就
  • 获得6次点赞
  • 内容获得0次评论
  • 获得4次收藏
创作历程
  • 24篇
    2022年
成就勋章
兴趣领域 设置
  • 前端
    html5javascript前端前端框架
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

虚拟 dom?

虚拟 dom 是利用 js 描述元素与元素的关系,用 js 对象来表示真实的 DOM 树结构,创建一个虚拟 DOM 对象由于在浏览器中操作 DOM 是很昂贵的。频繁的操作 DOM,会产⽣⼀定的性能问题.在组件渲染的时候会调用 render 函数,这个函数会生成一个虚拟 dom,再根据这个虚拟 dom 生成真实的 dom,然后这个真实的 dom 会挂载到我们的页面中。如果只是渲染一个页面后期不改动的话 那么虚拟 dom 其实成本更高 因为 都要渲染成真实的 dom如果组件内有响应的数据,数据发
原创
发布博客 2022.04.26 ·
119 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

组件写name有啥好处?

增加 name 属性,可以实现组件递归调⽤自身,调用的时候用的就是 name 名字可以表示组件的具体名称,⽅便调试和查找对应的组件比如说 keep-alive 的 include 和 exclude 就是通过组件的 name 属性区分谁缓存谁不缓存的...
原创
发布博客 2022.04.26 ·
166 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

vue.use是干什么的?

vue.use 是用来安装 Vue.js 插件。这个插件可以是一个组件也可以是一个函数,插件里要有一个 install 方法,install 方法调用时,他的第一个参数就是 Vue 在调用 vue.use 方法的时候就会执行 Vue.install 方法该方法需要在调用 new Vue() 之前被调用。...
原创
发布博客 2022.04.26 ·
3223 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏

生命周期的钩子函数?

创建阶段- beforeCreate 实例创建之前 这个时候什么都没有 data methods 都不能用 也没有 this- created 创建之后 也是最早的可以使用 data 和 methods 的钩子函数 这个时候有 this 了- beforeMount 组件挂载之前- mounted 组件挂载之后 这个时候能拿到 dom 节点使用运行阶段 只要修改 data 就会触发- beforeUpdate 数据变了 视图还没...
原创
发布博客 2022.04.26 ·
89 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Vue的diff算法原理是什么?

Vue的diff算法是平级⽐较,不考虑跨级⽐较的情况。内部采⽤深度递归的⽅式+双指针⽅式⽐较先⽐较两个节点是不是相同节点相同节点⽐较属性,复⽤⽼节点先⽐较⼉⼦节点,考虑⽼节点和新节点⼉⼦的情况优化⽐较:头头、尾尾、头尾、尾头⽐对查找,进⾏复⽤...
原创
发布博客 2022.04.25 ·
1326 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MVVM模式的优点以及与MVC模式的区别?

MVVM模式的优点:1、低耦合: 视图(View)可以独⽴于 Model 变化和修改,⼀个 ViewModel 可以绑定到不同的"View"上,当View变化的时候Model 可以不变,当Model变化的时候View也可以不变。2、可重⽤性: 你可以把⼀些视图逻辑放在⼀个ViewModel⾥⾯,让很多 view 重⽤这段视图逻辑。3、独⽴开发: 开发⼈员可以专注于业务逻辑和数据的开发(ViewModel),设计⼈员可以专注于⻚⾯设计。4、可测试: 界⾯素来是⽐较难于测试的,⽽现在测试可以针对
原创
发布博客 2022.04.25 ·
296 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

为什么vue中data必须是⼀个函数?

如果data是⼀个函数的话,这样每复⽤⼀次组件,就会返回⼀份新的data,类似于给每个组件实例创建⼀个私有的数据空 间,让各个组件实例维护各⾃的数据。⽽单纯的写成对象形式,就使得所有组件实例共⽤了⼀份data,就会造成⼀个变了全 都会变的结果。 所以说vue组件的data必须是函数。这都是因为js的特性带来的,跟vue本身设计⽆关。...
原创
发布博客 2022.04.25 ·
169 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

vue 中 data 发⽣变化,视图不更新如何解决?

在 vue2 中 vue 实例的 data 数据是响应式 的 就是数据变了 视图也会跟着变,如果给某一个 data 新添加了一个字段 这个新添加的字段因为 js 的限制不响应,需要使用 this.$set 方法代替原本的普通添加方法 就能实现响应,这个方法的三个参数 是给谁添加 添加的字段 初始值 如果不是在组件中 用这个方法 那么就用 Vue.set...
原创
发布博客 2022.04.25 ·
369 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

vue 和 jquery 的区别?

⾸先呢 jquery 他是⽤ js 封装的⼀个类库,主要是为了⽅便操作 dom 元素,⽽ vue 他是⼀个框架,并且呢,他会从真实 dom 构建出⼀个虚拟的 dom 树,通过 di!算法渲染只发⽣改变的 dom 元素,其他的相同的 dom 元素不⽤在重新渲染. ⽽使⽤ jquery 去改变 dom 元素的时候,即使有相同的 dom 元素也会重新渲染, jq 重点操作 dom,而 vue 重点操作数据。以上就是我对 vue 和 jquery 区别的理解....
原创
发布博客 2022.04.25 ·
1812 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

axios拦截器?

拦截器有两种 一个是请求拦截一个是响应拦截拦截器不需要手动调用而是每次发送 http 请求的时候都会自动触发我们一般在请求拦截中 放全局的 loading 和 token在响应拦截中关闭全局的 loading 和对 token 进行过期处理 还可以处理错误编码字典...
原创
发布博客 2022.04.25 ·
96 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

生命周期函数?

创建阶段- beforeCreate 实例创建之前 这个时候什么都没有 data methods 都不能用 也没有 this- created 创建之后 也是最早的可以使用 data 和 methods 的钩子函数 这个时候有 this 了- beforeMount 组件挂载之前- mounted 组件挂载之后 这个时候能拿到 dom 节点使用运行阶段 只要修改 data 就会触发- beforeUpdate 数据变了 视图还没变...
原创
发布博客 2022.04.25 ·
73 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

axios 的封装?

1. 先创建 utils 文件夹2. 创建 request.js3. 引入 axios4. 配置 基本路径和超时时间5. 配置请求拦截和响应拦截6. 在请求拦截里可以放 loading 和 token7. 在响应拦截中 可以 清除 loading 还有处理错误编码字典8. 最后把我们封装的 axios 实例 导出...
原创
发布博客 2022.04.25 ·
71 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

vue中key的作⽤是什么?

避免dom元素重复渲染. 我⻔⼀般在设置key的时候⾸先尽量会设置为id,或者index下标。
原创
发布博客 2022.04.24 ·
292 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

过滤器 filter?

所谓的 vue 过滤器就是将数据进⾏⼆次处理,得到我们想要的结果数据vue 的过滤器分为两种,第⼀种是全局过滤器,通过 vue.filter 来进⾏定义,第⼆种是局部过滤器,需要定义在组件内部,用 filters 过滤项⽬中我们通过过滤器将后台返回的状态 0 和 1 转化为⽀付或者未⽀付 还有对时间格式进行过滤.vue3 中没有过滤器了...
原创
发布博客 2022.04.24 ·
360 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

keep-alive的理解?

keep-alive 是 vue 内置的⼀个组件,⽽这个组件的作⽤就是能够缓存不活动的组件,我们能够知道,⼀般情况下,组件进⾏切换的时候,默认会进⾏销毁,如果有需求,某个组件切换后不进⾏销毁,⽽是保存之前的状态,⽐如说刚刚填好的表单数据。那么就可以利⽤ keep-alive 来实现被缓存的组件 切换的时候不会触发创建和销毁的钩子函数 而是会触发跟 keep-alive 相关的 activated(激活) deactivated(停用)这两个钩子函数...
原创
发布博客 2022.04.24 ·
273 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

vue双向数据绑定原理?

vue.js 则是采⽤数据劫持结合发布者-订阅者 模式的⽅式, 通过 Object.defineProperty() 来劫持各个属性的 setter , getter , 在数据变动时发布消息给订阅者,触发相应的监听回调。 这个时候就可以实现数据的双向绑定。...
原创
发布博客 2022.04.24 ·
508 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

vue路由守卫?

所谓的路由守卫就是当我们进⾏⻚⾯跳转的时候会触发的钩⼦函数, 我们把它称之为vue路由守卫.vue⼀共给我们提供了三种路由守卫,第⼀种全局路由守卫,第⼆种是组件内路由守卫,第三种路由 独享守卫,这个是写在路由⾥⾯.全局守卫,会有beforeEach(跳转前触发的钩子函数)、beforeResolve(进⼊路由的时的钩子函数)、afterEach(进⼊路由之后的钩子函数) .这⼏个钩⼦函数⾥⾯都有⼀个回调函数,这个回调函数⾥⾯会有三个参数,分别是to,from,next,分别对应的是要进⼊的路由、
原创
发布博客 2022.04.24 ·
202 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

常用的修饰符有哪些?

.trim 去除⾸尾多余的空格.stop 阻⽌事件冒泡.once 只渲染⼀次.self 事件只作⽤在元素本身.number 将值转化为 number 类型.capter 组件之间捕获.prevent 阻⽌元素的默认⾏为.native 事件穿透,让我们可以在⾃定义组件上触发原生的事件...
原创
发布博客 2022.04.24 ·
210 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

组件通信: 父传子 子传父 兄弟通信

父传子首先在使用子组件的标签上 通过自定义属性传递变量 在子组件中 通过 props 接受在接收的时候有两种接收方式 数组形式 和 对象形式 对象形式可以规定传来的变量的数据类型(type)默认值(default)以及是否必填(required)子传父首先在使用子组件的标签上定义一个自定义事件 在子组件里通过 this.$emit 去调用这个自定义事件 $emit 方法的第一个参数是自定义事件的名字 第二个参数是就是子组件要传递给父组件的变量 最后在父组件接收使用就可以了兄弟组件利用
原创
发布博客 2022.04.24 ·
123 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

v-for与v-if的优先级那个高?如果同时使用v-for和v-if怎么解决?

v-for的优先级高些. 因为v-for的时候我们才开始渲染dom元素,这个时候v-if还⽆法进⾏判断. v-for和v-if不能同时使⽤,我们可以通过标签,⽐如div或者template标签来进⾏包裹,把v-if写到包裹的标签上面。(也就是写到v-for外面)...
原创
发布博客 2022.04.22 ·
173 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多