vue学习---模板语法(二)

in Vue教程 with 0 comments, 3319 views

接着上篇继续讲模板语法剩下的一点内容

指令

指令 (Directives) 是特殊的带有前缀 v- 的特性。指令的值限定为单一的JS表达式(v-for除外,后面会单独讨论)。指令的职责就是当其表达式的值改变时把某些特殊的行为应用到 DOM 上。我们来回头看下“概述”里的例子:

<p v-if="greeting">Hello!</p>

这里 v-if 指令将根据表达式 greeting 值的true/false来删除/插入 <p> 元素。

参数

有些指令可以在其名称后面带一个“参数” (Argument),中间放一个冒号隔开。例如,v-bind 指令用于响应地更新 HTML 属性(attribute):

<a v-bind:href="url"></a>

这里 href 是参数,它告诉 v-bind 指令将元素的 href 属性跟表达式 url 的值绑定。

再举一个 v-on 指令的例子,它用于监听 DOM 事件:

<a v-on:click="doSomething">

这里参数是被监听的事件的名字。这个也会在以后详细说明事件绑定😅。

修饰符(Modifiers)

修饰符是用半角句号.标识的特殊后缀,用于表示指令应当以特殊方式绑定。例如 .prevent 修饰符告诉v-on指令在触发事件的时候调用event.preventDefault()阻止默认事件触发:

<form v-on:submit.prevent="onSubmit"></form>

随着接触更多其它指令(比如v-on和v-model),我们会看到更多的修饰器的用法。

缩写

v- 前缀是一种标识模板中特定的 Vue 特性的视觉暗示。当你需要在一些现有的 HTML 代码中添加动态行为时,这些前缀可以起到很好的区分效果。但你在使用一些常用指令的时候,你会感觉一直这么写实在是啰嗦。而且在构建单页应用(SPA )时,Vue.js 会管理所有的模板,此时 v- 前缀也没那么重要了。因此Vue.js也很贴心的为这两个最常用的指令 v-bind 和 v-on 提供了特别的缩写:

v-bind 缩写

<!-- 完整语法 -->
<a v-bind:href="url"></a>

<!-- 缩写 -->
<a :href="url"></a>

v-on 缩写

<!-- 完整语法 -->
<a v-on:click="doSomething"></a>

<!-- 缩写 -->
<a @click="doSomething"></a>

它们看起来跟“正常”的 HTML 有点不同,但是它们在所有 Vue.js 支持的浏览器中都能被正确地解析,并且不会出现在最终渲染的标记中。缩写语法完全是可选的,不过随着一步步学习的深入,你会庆幸拥有它们。

Responses ${replyToWho} / Cancel Reply