Vue常见内置指令汇总

50 阅读2分钟

常见指令

  1. v-text:

    • 用于文本替换,会替换标签内原本所有的文本
  2. v-html:

    • 也是用于文本替换,能够识别html和css结构,但不推荐使用
  3. v-show:

    • 通过 css 控制标签显示还是隐藏
  4. v-if/v-else/v-else-if:

    • 通过是否加载标签控制标签显示还是隐藏
  5. v-for:

    • 遍历一组数据,循环渲染一些标签
  6. v-on/@:

    • 给组件绑定一些事件
  7. v-bind/: :

    • 单向绑定属性
  8. v-model:

    • 双向绑定数据
  9. v-slot:

    • 插槽内需要使用的指令
  10. v-pre:

    • 跳过 vue 的编译
  11. v-once:

    • 只会被编译一次, 后续的编译与当前标签没有关系
  12. v-memo:

    • 只有绑定的依赖发生变化的时候, 才会重新渲染标签
  13. v-cloak:

    • 用于隐藏尚未完成编译的 DOM 模板。

注意

如何选择 v-show 和 v-if

因为如果v-if的条件是假,则不会渲染标签,v-show无论如何都会渲染 所以展示隐藏切换不频繁的话推荐使用v-if,否则推荐v-show

并且:v-if 和 v-else之间不能有其他标签

循环遍历的内容

<li v-for="(item, index) in listArr">{{ item }} --- {{ index }}</li>

如果遍历的是数组,第一个参数是数组元素,第二个参数是数组下标; 如果遍历的是对象,第一个参数是属性值,第二个参数是属性名。

key属性是我们在循环遍历的时候一般都会写上的,key的值需要时一个唯一值,一般选用id; key 是用来给每一个节点做唯一标识的属性,它的作用是帮助 Vue 进行 DOM 元素的复用

  • v-for 和 v-if 能不能一起使用?

在vue2中,因为v-for的优先级会比v-if高,所以vue2中禁止两者同时使用;在 vue3 中, vue 调整了 v-if 的优先级, 所以在 vue3 中可以同时使用 v-for 和 v-if, 但是我们开发习惯上不会出现 v-for 和 v-if 同时使用

事件绑定

  • 事件修饰符

@click.stop,stop就是事件修饰符,用于阻止事件冒泡,once作用是事件执行一次后, 自动解绑......; vue中也可以使用事件对象---e