Acest tutorial este o prezentare de baza a functiei Vue js render.
Functia render este o alternativa la proprietatea template, si ofera posibilitatea de a face componenta Vue dinamica. De asemenea, se pot transmite argumente si valori de la componenta parinte la structura HTML rezultata.
Sa vedem un exemplu din care se intelege cum functioneaza proprietatea render.
- In urmatorul exemplu cream o componenta Vue (denumita "comp_test") care poate reda un element HTML cu definire dinamica: nume-tag, culoare, marime-font si id.
<div id = 'demo'>
<comp_test :elm_type="'h1,#0000ee,30,title'">Libertatea este Libera</comp_test>
<comp_test :elm_type="'h3,#00ce00,25,h3tag'">Ca sa am pace, dau pace.</comp_test>
<comp_test :elm_type="'p,#ee0000,24,ptag'">Gandul precede perceptia.</comp_test>
<comp_test :elm_type="'div,#1234fb,24,divtag'">Pace mintii, sanatate trupului.</comp_test>
</div>
<script>
Vue.component('comp_test',{
render : function(createElement){
//gets an array of values from the string added to elm_type attribute
var a = this.elm_type.split(',');
//creates and returns the DOM element with data from elm_type, and defined in the attrs object-parameter
return createElement(a[0],{
attrs:{
style:'color:'+a[1]+';font-size:'+a[2]+'px;',
id:a[3]
}
},
this.$slots.default //To use the text added in component
)
},
//defines the prop required in each <comp_test> as a string
props:{
elm_type:{
attributes: String,
required: true
}
}
});
var vm = new Vue({
el: '#demo'
});
</script>
Dupa cum puteti vedea, fiecare tag <comp_test> leaga o proprietate
:elm_type care e definita in
props in componenta Vue.
Atributul
elm_type din tag trebuie sa contina un sir cu datele pentru elementul HTML care va fi redat (
'nume-tag, culoare, marime-font, id').
In functia
render se preia intr-un Array datele din sirul de la atributul "elm_type".
var a = this.elm_type.split(',');
Functia
render primeste metoda
createElement ca argument, si o returneaza.
createElement creaza elementele in DOM cu datele din
elm_type (definite in obiectul
attrs).
Continutul adaugat in elementul HTML rezultat este textul de la fiecare <comp_test>, datorita urmatorului argument:
this.$slots.default
- Resultat:
Libertatea este Libera
Ca sa am pace, dau pace.
Gandul precede perceptia.
Pace mintii, sanatate trupului.
Un Test simplu in fiecare zi
HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tag se foloseste pentru a crea o caseta de adaugare text?
<form> <input> <div><input type="text" name="a_name" value="val" />
Ce proprietate CSS se foloseste pentru a afisa textul cu majuscule-mici?
display font-variant font-styleh3 {
font-variant: small-caps;
}
Ce instructiune afiseaza o fereastra cu un mesaj in ea?
for() Date() alert()var msg = "Viziteaza CoursesWeb.net";
alert(msg);
Indicati codul PHP prin care se obtine IP-ul utilizatorului.
$_SERVER["HTTP_USER_AGENT"] $_SERVER["REMOTE_ADDR"] $_GET[]$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
Cum se traduce cuvantul "actually"?
actual de fapt acumHe actually came on time.
- De fapt, el a venit la timp.
Cum se traduce expresia: "Hace buen tiempo"?
Face timp E vreme frumoasa Drum bunHoy hace buen tiempo.
- Astazi e vreme frumoasa.