le domande dovrebbero essere abbastanza chiare :). Ma posso vedere che qualcuno usa:
<button @click="function()">press</button>
Qualcuno usa:
<button v-on:click="function()">press</button>
Ma davvero qual è la differenza tra i due (se esiste)
le domande dovrebbero essere abbastanza chiare :). Ma posso vedere che qualcuno usa:
<button @click="function()">press</button>
Qualcuno usa:
<button v-on:click="function()">press</button>
Ma davvero qual è la differenza tra i due (se esiste)
Risposte:
Non c'è differenza tra i due, uno è solo una scorciatoia per il secondo.
Il prefisso v funge da segnale visivo per identificare gli attributi specifici di Vue nei modelli. Ciò è utile quando si utilizza Vue.js per applicare un comportamento dinamico ad alcuni markup esistenti, ma può sembrare prolisso per alcune direttive usate di frequente. Allo stesso tempo, la necessità del prefisso v diventa meno importante quando si crea una SPA in cui Vue.js gestisce ogni modello.
<!-- full syntax -->
<a v-on:click="doSomething"></a>
<!-- shorthand -->
<a @click="doSomething"></a>
Fonte: documentazione ufficiale .
strongly-recommended
e recommended
dei preset eslint-plugin-Vue. github.com/vuejs/eslint-plugin-vue/blob/master/docs/rules/…
v-bind
e v-on
sono due direttive usate frequentemente nel modello html di vuejs. Quindi hanno fornito una notazione abbreviata per entrambi come segue:
È possibile sostituire v-on:
con@
v-on:click='someFunction'
come:
@click='someFunction'
Un altro esempio:
v-on:keyup='someKeyUpFunction'
come:
@keyup='someKeyUpFunction'
Allo stesso modo, v-bind
con:
v-bind:href='var1'
Può essere scritto come:
:href='var1'
Spero che sia d'aiuto!
Potrebbero apparire un po 'diversi dal normale HTML, ma: e @ sono caratteri validi per i nomi degli attributi e tutti i browser supportati da Vue.js possono analizzarlo correttamente. Inoltre, non compaiono nel markup del rendering finale. La sintassi abbreviata è totalmente facoltativa, ma probabilmente la apprezzerai quando imparerai di più sul suo utilizzo in seguito.
Fonte: documentazione ufficiale .