vue 知识点整理——指令

vue指令:

  • v-text:

用于操作纯文本。如果要更新部分的文本,需要使用 {{ Mustache }} 插值。

示例:


{{msg}}
  • v-html:

v-html用于输出html,它与v-text区别在于v-text输出的是纯文本,浏览器不会对其再进行html解析,但v-html会将其当html标签解析后输出。

示例:
  
  • v-show:

根据表达式之真假值,切换元素的 display CSS 属性。

  • v-if:

指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 truthy 值的时候被渲染。

示例:

Vue is awesome!

Oh no

  • v-else:

你可以使用 v-else 指令来表示 v-if 的“else 块,v-else 元素必须紧跟在带 v-if 或者 v-else-if 的元素的后面,否则它将不会被识别。

示例:

Vue is awesome!

Oh no

  • v-else-if:

顾名思义,充当 v-if 的“else-if 块”,可以连续使用,类似于 v-else,v-else-if 也必须紧跟在带 v-if 或者 v-else-if 的元素之后。

A
B
C
Not A/B/C
  • v-for:

应用v-for遍历dom的时候,要加:key="item.id",加了key(一定要具有唯一性) id的checkbox跟内容进行了一个关联。是我们想达到的效果

    
  • {{item.name}}
  • v-on:

缩写: @

修饰符:

  • stop - 调用 event.stopPropagation()。
  • prevent - 调用 event.preventDefault()。
  • capture - 添加事件侦听器时使用 capture 模式。
  • self - 只当事件是从侦听器绑定的元素本身触发时才触发回调。
  • {keyCode | keyAlias} - 只当事件是从特定键触发时才触发回调。
  • native - 监听组件根元素的原生事件。
  • once - 只触发一次回调。
  • left - (2.2.0) 只当点击鼠标左键时触发。
  • right - (2.2.0) 只当点击鼠标右键时触发。
  • middle - (2.2.0) 只当点击鼠标中键时触发。
  • passive - (2.3.0) 以 { passive: true } 模式添加侦听器

用在普通元素上时,可以用 v-on 指令监听原生 DOM 事件,并在触发时运行一些 JavaScript 代码。

  

{{counter}}

在监听原生 DOM 事件时,方法以事件为唯一的参数。如果使用内联语句,语句可以访问一个 $event 属性:v-on:click="handle('ok', $event)"。


// ...
methods: {
  warn: function (message, event) {
    // 现在我们可以访问原生事件对象
    if (event) event.preventDefault()
    alert(message)
  }
}
  • v-bind:

缩写: :

修饰符:

  • .prop - 被用于绑定 DOM 属性 (property)。(差别在哪里?)
  • .camel - (2.1.0+) 将 kebab-case 特性名转换为 camelCase. (从 2.1.0 开始支持)
  • .sync (2.3.0+) 语法糖,会扩展成一个更新父组件绑定值的 v-on 侦听器

动态地绑定一个或多个特性,或一个组件 prop 到表达式。

在绑定 class 或 style 特性时,支持其它类型的值,如数组或对象。可以通过下面的教程链接查看详情。
在绑定 prop 时,prop 必须在子组件中声明。可以用修饰符指定不同的绑定类型。

指令可以在其名称后面带一个参数,中间放一个冒号隔开,这个参数通常是HTML元素的特性(attribute)

示例:
















// red这个class存在与否,取决于 isRed 是true 或者 false
如果你也想根据条件切换列表中的 class,可以用三元表达式:
不过,当有多个条件 class 时这样写有些繁琐。所以在数组语法中也可以使用对象语法:
data: { styleObject: { color: 'red', fontSize: '13px' } }
  • v-model:

可以用 v-model 指令在表单