Vue 的内置指令

2019-08-05  本文已影响0人  养乐多__

一、基本指令

1. v­-cloak

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

2. v-­once

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

二、条件渲染指令

1. v-­if,v-­else-­if,v-­else
<p v-if="6<3">{{apple}}</p>
<p v-else-if="6<9">{{banana}}</p>
<p v-else>{{pear}}</p>
2. v-­show

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

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

是否删除dom节点。

三、列表渲染指令 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. 改变数组的一系列方法:
app.arr.splice(1,1) // 从第一个元素位置开始,删除一个元素(即删除第二个元素)
app.arr.splice(1,0,"eraser") // 从第一个元素位置开始,添加一个元素
app.arr.splice(1,0,"eraser","rule") // 从第一个元素位置开始,添加两个元素
  1. 两种数组变动 Vue 检测不到:
  1. 解决方法:

五、方法和事件

1. 基本用法

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

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

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

2. 修饰符

在 Vue 中传入 event 对象用 $event

  1. 监听单机事件
  1. 监听键盘事件
上一篇下一篇

猜你喜欢

热点阅读