vuejs实战

内置指令

回顾第2.2节,我们已经介绍过指令directive的概念了,vue.js的指令是带有特殊前缀“v-”的html特性,他绑定一个表达式,并将一些特性应用的dom上,其实我们已经用到过很多vue内置的指令,比如v-html、v-pre,还有上一章的v-bind。

基本指令

v-cloak

v-cloak不需要表达式,他会在vue实例结束编译时从绑定的html元素上移除,经常和css的display:none配合使用

[v-cloak]{ display:none; }

在一般情况下,v-cloak是一个解决初始化慢导致页面闪动的最佳实践,对于简单的项目很实用,但是在具有工程化的项目里,比如后面进阶篇将介绍webpack和vue-router时,项目的html结构只有一个空的div元素,剩余的内容都是由路由去挂在不同的组件完成的,所以不再需要v-cloak。

v-once

v-once也是一个不需要表达式的指令,作用是定义它的元素或组件只渲染一次,包括元素或组件的所有子节点。首次渲染后,不再随数据的变化重新渲染,将被视为静态内容。

{ {message}}
{ {message}}

条件渲染指令

v-if v-else-if v-else

与javascript的条件语句if、else、else if 类似,vuejs的条件指令可以根据表达式的值在dom中渲染或销毁元素/组件,

v-else-if要紧跟v-if,v-else,要紧跟v-else-if或v-if,表达式的值为真时,当前元素/组件及所有子节点将被渲染,为假时被移除。如果一次判断的是多个元素。可以在vuejs内置的