目录
一、条件渲染
1.1、v-if
1.1.1、template v-if
1.1.2、v-else
1.1.3、v-else-if
1.1.4、用 key 管理可复用的元素
1.1.5、v-show
1.2、v-if vs. v-show
二、列表渲染
2.1、v-for
基本用法
2.1.1、Template v-for
2.1.2、对象迭代 v-for
2.1.3、整数迭代 v-for
2.1.4、组件 和 v-for
2.2、key
2.3、数组更新检测
2.3.1、变异方法
2.3.2、重塑数组
2.3.3、触发数组状态更新
2.4、对象更改检测注意事项
2.5、显示过滤/排序结果
三、事件处理器
3.1、监听事件
3.2、方法事件处理器
3.3、内联处理器方法
3.4、事件修饰符
3.5、按键修饰符
3.6、为什么在 HTML 中监听事件?
四、ES2015新增数组方法
4.1、indexOf()找到的元素位置
4.2、filter()过滤
4.3、forEach()迭代
4.4、map()映射
4.5、reduce()累加器
五、示例下载
六、视频
一、条件渲染
1.1、v-if
在字符串模板中,如 Handlebars ,我们得像这样写一个条件块:
{{#if ok}}
Yes
{{/if}}
在 Vue.js ,我们使用 v-if 指令实现同样的功能:
Yes
也可以用 v-else 添加一个 “else” 块:
Yes
No
1.1.1、template v-if
因为 v-if 是一个指令,需要将它添加到一个元素上。但是如果我们想切换多个元素呢?此时我们可以把一个
元素当做包装元素,并在上面使用 v-if,最终的渲染结果不会包含它。
复制代码
Title
Paragraph 1
Paragraph 2
复制代码
示例:
复制代码
条件渲染
Yes
No
item1
item2
item3
item4
item5
item6
复制代码
结果:
切换
1.1.2、v-else
可以用 v-else 指令给 v-if 添加一个 “else” 块:
复制代码
Sorry
Not sorry
复制代码
v-else 元素必须紧跟在 v-if 元素的后面——否则它不能被识别。
1.1.3、v-else-if
2.1.0 新增v-else-if,顾名思义,充当 v-if 的“else-if 块”,可以连续使用:
复制代码
A
B
C
Not A/B/C
复制代码
类似于 v-else,v-else-if 也必须紧跟在带 v-if 或者 v-else-if 的元素之后。
示例:
复制代码
条件渲染
Sorry
Not sorry
A
B
C
Not A/B/C
复制代码
结果:
1.1.4、用 key 管理可复用的元素
Vue 会尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染。这么做除了使 Vue 变得非常快之外,还有其它一些好处。例如,如果你允许用户在不同的登录方式之间切换:
复制代码
复制代码
自己动手试一试,在输入框中输入一些文本,然后按下切换按钮:那么在上面的代码中切换 loginType 将不会清除用户已经输入的内容。因为两个模板使用了相同的元素, 不会被替换掉——仅仅是替换了它的 placeholder。
示例:
复制代码
条件渲染
复制代码
结果:
点击邮箱登录
这样也不总是符合实际需求,所以 Vue 为你提供了一种方式来表达“这两个元素是完全独立的,不要复用它们”。只需添加一个具有唯一值的 key 属性即可:
复制代码
复制代码
现在,每次切换时,输入框都将被重新渲染。
复制代码
复制代码
注意,