【发布时间】:2018-01-04 06:58:48
【问题描述】:
问题应该足够清楚。
但我可以看到有人使用:
<button @click="function()">press</button>
有人使用:
<button v-on:click="function()">press</button>
但实际上两者之间有什么区别(如果存在)
【问题讨论】:
标签: vue.js vue-directives
问题应该足够清楚。
但我可以看到有人使用:
<button @click="function()">press</button>
有人使用:
<button v-on:click="function()">press</button>
但实际上两者之间有什么区别(如果存在)
【问题讨论】:
标签: vue.js vue-directives
两者没有区别,一个只是第二个的简写。
v- 前缀用作识别 Vue 特定的视觉提示 模板中的属性。这在您使用 Vue.js 时很有用 将动态行为应用于某些现有标记,但可以感觉到 一些常用指令的详细说明。同时, 当您构建一个 Vue.js 管理每个模板的 SPA。
<!-- full syntax -->
<a v-on:click="doSomething"></a>
<!-- shorthand -->
<a @click="doSomething"></a>
【讨论】:
strongly-recommended 和 recommended 中。 github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/…
v-bind 和 v-on 是 vuejs html 模板中两个常用的指令。
因此,他们为这两者提供了一个简写符号,如下所示:
您可以将v-on: 替换为@
v-on:click='someFunction'
作为:
@click='someFunction'
另一个例子:
v-on:keyup='someKeyUpFunction'
作为:
@keyup='someKeyUpFunction'
同样,v-bind 与 :
v-bind:href='var1'
可以写成:
:href='var1'
希望对你有帮助!
【讨论】:
它们可能看起来与普通的 HTML 有点不同,但 : 和 @ 是属性名称的有效字符,所有 Vue.js 支持的浏览器都可以正确解析它。此外,它们不会出现在最终呈现的标记中。速记语法完全是可选的,但是当您稍后了解其用法时,您可能会喜欢它。
【讨论】: