Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。
Vue常用指令
1、v-if:根据表达式的值的真假条件渲染元素。在切换时元素及它的数据绑定 / 组件被销毁并重建。
2、v-show:根据表达式之真假值,切换元素的 display CSS 属性。
3、v-for:循环指令,基于一个数组或者对象渲染一个列表,vue 2.0以上必须需配合 key值 使用。
4、v-bind:动态地绑定一个或多个特性,或一个组件 prop 到表达式。
5、v-on:用于监听指定元素的DOM事件,比如点击事件。绑定事件监听器。
v-on 可以绑定多个事件,可以用键值对的形式事件类型:事件名如果绑定是多个相同事件,直接用逗号分隔就行
6、v-model:实现表单输入和应用状态之间的双向绑定
7、v-pre:跳过这个元素和它的子元素的编译过程。可以用来显示原始 Mustache 标签。跳过大量没有指令的节点会加快编译。
8、v-once:只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。
v-if和v-for哪个优先级更高?
- v-for优先于v-if (解析如下)
- 第一种
<p v-for="child in childer" v-if="isFolder">{{child.tltle}}</p>
如果v-for
和v-if
二者同时使用。第一种每次渲染都会执行先循环后判断。无论循环多少次都无法避免。(不推荐,浪费性能) - 第二种
<template v-if="isFolder"><p v-for="child in childer">{{child.tltle}}</p></template>
第二种情况就是在外层嵌套template,然后判读if条件,条件成立则渲染for循环,否则执行空函数。
vue中v-for指令循环遍历中key属性的作用?
Key 属性的作用是在数据层和视图层之间建立一一对应关系, 方便后期对页面进行局部更新. 如果某一条数据发生改变, 只更新当前数据对应的DOM 元素。
v-show和v-if 在隐藏一个元素的时候有什么不同, 应该如何来选择?
v-show 是通过css 的方式来隐藏元素, 而v-if 是根据条件是否成立决定是否要创建元素. 如果某个元素需要频繁切换显示状态的话, 建议是使用v-show, 因为频繁创建销毁DOM 需要性能开销。
v-show和v-if指令的共同点和不同点?
相同点:
- v-show和v-if都能控制元素的显示和隐藏。 不同点:
- 实现本质方法不同v-show本质就是通过设置css中的display设置为none,控制隐藏v-if是动态的向DOM树内添加或者删除DOM元素
- 编译的区别v-show其实就是在控制cssv-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件
- 编译的条件v-show都会编译,初始值为false,只是将display设为none,但它也编译了v-if初始值为false,就不会编译了
- 性能比较v-show只编译一次,后面其实就是控制css,而v-if不停的销毁和创建,故v-show性能更好一。 注意点:
- 因为v-show实际是操作display:""或者none,当css本身有display:none时,v-show无法让显示 总结(适用场景):
- 如果要频繁切换某节点时,使用v-show(无论true或者false初始都会进行渲染,此后通过css来控制显示隐藏,因此切换开销比较小,初始开销较大),如果不需要频繁切换某节点时,使用v-if(因为懒加载,初始为false时,不会渲染, 但是因为它是通过添加和删除dom元素来控制显示和隐藏的,因此初始渲染开销较小,切换开销比较大)
指令v-el的作用是什么?
提供一个在页面上已存在的DOM元素作为Vue实例的挂载目标.可以是CSS选择器,也可以是一个HTMLElement实例
Vue中如何解决插值表达式闪烁问题?
使用v-html 或v-text 替代插值表达式; 使用v-clack 解决插值表达式闪烁, 第一步:声明属性选择器[v-clack]{display:none} 第二步:在插值表达式所在标签添加属性v-clack
Vue数据绑定的几种方式?
-
单向绑定双大括号{{}}html内字符串绑定
-
v-bind绑定html属性绑定
-
双向绑定v-model
-
一次性绑定v-once依赖于v-model
一个前端小白,若文章有错误内容,欢迎大佬指点讨论!