美文网首页
Vue 的内置指令

Vue 的内置指令

作者: 养乐多__ | 来源:发表于2019-08-05 18:08 被阅读0次

一、基本指令

1. v­-cloak

一般与 display: none; 结合使用。
作用:解决初始化较慢时导致的页面闪动。
原理v-cloak 使其在 Vue 实例渲染之后再进行渲染,改变了渲染顺序。

2. v-­once

作用:定义它的元素或组件只渲染一次,后续都不会再重新渲染。

二、条件渲染指令

1. v-­if,v-­else-­if,v-­else
  • 用法:
    v-ifv-else-if 后接的是等号,等号后必须是布尔值。
<p v-if="6<3">{{apple}}</p>
<p v-else-if="6<9">{{banana}}</p>
<p v-else>{{pear}}</p>
  • 弊端 :
    Vue 在渲染元素时,出于效率考虑,会尽可能地复用已有的元素而非重新渲染,因此会出现乌龙。(只会渲染变化的元素,即同一类元素会被复用,如 input
  • 解决方法:
    对不想使其复用的元素或标签加(唯一的) key 值。
2. v-­show

显现与否取决于布尔值,只改变了 css 属性 display

  • 用法:
<p v-show="9>3">我被渲染了</p>
3. v-­if 和 v­-show 的比较

是否删除dom节点。

  • v-­if:
    实时渲染:页面显示就渲染,不显示则移除。
  • v-­show:
    v-­show 的元素永远存在于页面中,只是改变了 CSS 的 display 属性。

三、列表渲染指令 v­-for

当需要将一个数组遍历或枚举一个对象属性循环显示时,就会用到列表。

  1. 两种使用场景:
    遍历多个对象。
    遍历一个对象的多个属性。

  2. 用法:v-for 一定要写在要遍历的元素上,v-for 后接等号,类似于 item in items。遍历多个对象遍历的一定是数组。

(1)遍历多个对象,vueMth 是自己定义的变量:

<ul>
    <li v-for="vueMth in vueMethods">{{vueMth.name}}</li>
</ul>

data: {
    vueMethods: [
        {name: '多思考'},  // 每个对象对应一个li
        {name: '多练习'},
        {name: '多使用'}
    ]
}

带索引的写法:括号里第一个变量代表 item,第二个变量代表 index:

<ul>
    <li v-for="(vueMth,index) in vueMethods">{{index}}---{{vueMth.name}}</li>
</ul>

(2)遍历一个对象的多个属性:

<span v-for="value in nvshen">{{value}}</span>

data: {
    nvshen: {
        girl2: '汤唯 ',
        girl1: '高圆圆 ',
        girl3: '朱茵 '
    }
}

拿到 value,key,index 的写法,v-k-i 谐音外开:

<div v-for="(value,key,index) in nvshen">第{{index}}个,键是{{key}},{{value}}</div>

四、数组更新,过滤与排序

  1. 改变数组的一系列方法:
  • push():在末尾添加元素
  • pop():将数组的最后一个元素移除
  • shift():删除数组的第一个元素
  • unshift():在数组的第一个元素位置添加一个元素(返回新数组的长度)
  • splice():可以删除或者添加元素(返回删除的元素,添加元素时返回空数组)
    (1)三个参数:
    第一个参数表示开始操作的位置
    第二个参数表示要操作的长度
    第三个为可选参数,添加时使用
    (2)用法
app.arr.splice(1,1) // 从第一个元素位置开始,删除一个元素(即删除第二个元素)
app.arr.splice(1,0,"eraser") // 从第一个元素位置开始,添加一个元素
app.arr.splice(1,0,"eraser","rule") // 从第一个元素位置开始,添加两个元素
  • sort():排序
  • reverse():翻转数组
  1. 两种数组变动 Vue 检测不到:
  • 改变数组的指定项:app.arr[0] = 'car'
  • 改变数组长度:app.arr.length = 1
  1. 解决方法:
  • set
    改变数组指定项: Vue.set(app.arr,index,"car")
  • splice
    改变数组长度:app.arr.splice(0)(从第0个位置开始,删除所有项)

五、方法和事件

1. 基本用法

v­-on 绑定的事件类似于原生的 onclick 等写法。

methods:{
    handle:function (count) {
        count = count || 1;
        this.count += count;
    }
}

使用带有参数的方法时,一定要在方法后面加括号 ()
如果方法中带有参数,但使用方法时没有加括号,则默认传原生事件对象 event。

2. 修饰符

在 Vue 中传入 event 对象用 $event

  1. 监听单机事件
  • stop:阻止单击事件向上冒泡(用于子元素)
  • prevent:提交事件并且不重载页面
  • self:只是作用在元素本身而非子元素的时候调用(用于父元素)
  • once:只执行一次的方法
  1. 监听键盘事件
  • 指定的 keyCode:<input @keyup.13 ="submitMe">
  • Vue.js 还为我们提供了 .enter.tab.delete 等快捷用法

相关文章

  • VUE初级入门实践

    VUE概述 生命周期 指令 内置指令 自定义指令 过滤器 内置过滤器 VUE1.0版本 VUE2.0版本(无内置过...

  • Vue-02:

    一.Vue的指令: 分为两大类;内置指令和自定义指令;今天我们就来学习一下Vue的内置指令; 1.>v-for :...

  • vue自定义指令

    除了内置的指令外,Vue 也允许注册自定义指令。 vue用Vue.directive(id,definition)...

  • vue内置指令

    vue指令 v-if v-if指令可以完全根据表达式的值在DOM中生成或者移除一个元素。v-if是惰性的,如果初始...

  • Vue内置指令

    v-cloak 解决初始化导致页面闪动一般使用{{msg}}时页面会先出现{{msg}},再跳出内容,添加cloa...

  • vue内置指令

    (1)v-for 遍历数据渲染到无序列表

  • Vue 内置指令

    基本指令 v-pre: 将内容原样输出 v-cloak: 解决初始化慢导致页面闪动 v-cloak 指令一般要与 ...

  • Vue内置指令

    v-cloak 解决页面加载时闪烁出现vue标签或者指令的问题(比如一闪而过的{{message}}) 和 [v...

  • vue内置指令

    一、基本指令 1、v-cloak 解决初始化慢,页面闪动,一般与display: none 进行结合使用 2、v-...

  • 你真的了解Vue指令吗?

    vue一共为我们提供了14种内置指令,分别是: 这14中内置指令的功能都非常简单,如果有不知道的可以查阅vue官方...

网友评论

      本文标题:Vue 的内置指令

      本文链接:https://www.haomeiwen.com/subject/cucvdctx.html