питання повинні бути досить чіткими :). Але я бачу, що хтось використовує:
<button @click="function()">press</button>
Хтось використовує:
<button v-on:click="function()">press</button>
Але насправді в чому різниця між цими двома (якщо існує)
питання повинні бути досить чіткими :). Але я бачу, що хтось використовує:
<button @click="function()">press</button>
Хтось використовує:
<button v-on:click="function()">press</button>
Але насправді в чому різниця між цими двома (якщо існує)
Відповіді:
Різниці між ними немає, одне - це лише стенограма для другого.
Префікс v - служить наочним сигналом для ідентифікації атрибутів, характерних для Vue у ваших шаблонах. Це корисно, коли ви використовуєте Vue.js для застосування динамічної поведінки до деякої існуючої розмітки, але може відчувати багатослівність для деяких часто використовуваних директив. У той же час потреба в префіксі v стає менш важливою під час створення SPA, де Vue.js керує кожним шаблоном.
<!-- full syntax -->
<a v-on:click="doSomething"></a>
<!-- shorthand -->
<a @click="doSomething"></a>
Джерело: офіційна документація .
strongly-recommended
і recommended
з eslint-плагін-В'ю пресетів. github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/…
v-bind
і v-on
є двома часто використовуваними директивами в HTML шаблоні vuejs. Таким чином, вони надали скорочене позначення обом таким чином:
Ви можете замінити 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 браузери можуть правильно їх розбирати. Крім того, вони не відображаються в остаточній наданій розмітці. Синтаксис скорочень зовсім необов’язковий, але ви, ймовірно, оціните його, коли дізнаєтесь більше про його використання пізніше.
Джерело: офіційна документація .