Vue.js foloseste o sintaxa de template bazata pe taguri HTML. Template-ul e compilat in functii de redare Virtual DOM.
Forma de baza pentru template e un sir text (un nume de proprietate) adaugat intre doua acolade duble:
<div>Message: {{ msg }}</div>
Grupul de acolade duble va fi inlocuit de valoarea proprietatii
msg din obiectul
data. De asemenea, va fi actualizat de fiecare data cand valoarea proprietatii "msg" se modifica.
- Exemplu, la clic pe un buton e modificata valoarea unei proprietati din "data" (aici "str"), schimband textul adaugat intr-un Div:
<div id='app'>
<div>{{ str }}</div>
<button @click='str = "Iubesc Viata"'>Click</button>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {str: 'Sunt Eu insumi.'}
})
</script>
Taguri HTML in template
In mod implicit continutul care va inlocui grupul de acolade duble este interpretat ca text simplu. Pentru a reda cod HTML se foloseste directiva v-html
.
Exemplu:
<div id='app'>
<p>Without directive: {{ str_html }}</p>
<p>Using v-html directive: <span v-html="str_html"></span></p>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {str_html: '<b style="color:#00f">Sunt Eu insumi.</b>'}
})
</script>
Sintaxa cu acolade duble nu se foloseste in atribute HTML.
Utilizare expresii JavaScript in Vue Template
Vue.js suporta expresii JavaScript in toate datele de legatura cu HTML (o singura expresie):
{{ number + 1 }}
{{ ok ? 'YES' : 'NO' }}
{{ message.split('').reverse().join('') }}
<div v-bind:id="'list-' + id"></div>
- Exemplu, arata numarul de clicuri pe un buton:
<div id='app'>
<div>Number of licks: {{ nr}}</div>
<button @click='nr +=1'>Click</button>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {nr: 0}
})
</script>
Alt exemplu, afiseaza in ordine inversa caracterele adaugate intr-o caseta de text:
<div id='app'>
<p>{{ msg.split('').reverse().join('') }}</p>
Add some text in this input:<br>
<input v-model='msg'>
</div>
<script>
var vue_ob = new Vue({
el: '#app',
data: {msg: 'Hello Vue!'}
})
</script>
Un Test simplu in fiecare zi
HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tip de <input> creaza o paleta de culori pentru selectare culoare?
type="text" type="color" type="date"<input type="color" name="get_color" />
Care metoda CSS roteste elementul HTML la un anumit numar de grade?
scale() translate() rotate()#some_id:hover {
transform: rotate(60deg);
-ms-transform: rotate(60deg); /* IE 9 */
-moz-transform: rotate(60deg); /* Firefox */
}
Click pe functia care returneaza numarul cel mai mare.
pow() min() max()var maxn = Math.max(8, 4, 88, 56);
alert(maxn); // 88
Ce functie previne ca un fisier sa fie inclus mai mult de o data intr-o pagina?
include() include_once() require()include_once("un_fisier.php");
Care este traducerea corecta pentru: "Ahead of time"?
Peste timp La timp Inainte de vremeMost people arrived ahead of time.
- Cei mai multi oameni au sosit inainte de vreme (prea devreme).
Indicati traducerea corecta a cuvantului "buenĂsimo"
mai bun mai putin bun extrem de bunEste fruto es buenĂsimo.
- Acest fruct este extrem /nemaipomenit de bun.