Mixins sunt obiecte JS care pot fi utilizate pentru distribuirea de cod reutilizabil intre componente. Cand o componenta foloseste un mixin, toate optiunile din mixin devin o parte a optiunilor componentei.
- Exemplu:
// define a mixin object
var mixin_1 = {
//function automatically called when Vue instance is created
created: function(){
this.hello();
},
methods: {
hello: function(){
console.log('hello from mixin.')
}
}
}
// define a component that uses this mixin
var component = Vue.extend({
mixins: [mixin_1]
})
var comp = new component() // hello from mixin.
Cand un mixin si o componenta contin optiuni care se suprapun, acestea sunt combinate. Daca au metode sau proprietati cu acelasi nume, datele din instanta principala Vue au prioritate si vor inlocui metoda sau proprietatea cu acelasi nume.
- In urmatorul exemplu avem un mixin si o instanta Vue cu obiectul data care au aceeasi proprietate "msg".
// define a mixin object
var mixin_2 = {
//function automatically called when Vue instance is created
data: function(){
return {msg: 'Hello from Mixin', str:'String from mixin'};
}
}
// vue instance
var vm = new Vue({
mixins: [mixin_2],
data: {msg:'Msg replaced from component.', txt:'Sunt o persoana buna'},
created: function(){
console.log(this.$data);
}
})
// {"msg": "Msg replaced from component.", "txt": "Sunt o persoana buna", "str": "String from mixin"}
- In urmatorul exemplu avem o metoda (aici denumita "same_met") cu acelasi nume in mixin si in instanta Vue.
// define a mixin object
var mixin_3 = {
methods: {
met_mixin: function(){
console.log('Doreste-ti doar si ai frecvent in viziune efectul implinit')
},
same_met: function(){
console.log('Trecutul nu exista')
}
}
}
// define a component that uses this mixin
var vm = new Vue({
mixins: [mixin_3],
methods: {
same_met: function(){
console.log('Eu sunt Viata mea')
},
met_inst: function(){
console.log('Miracolul e mereu posibil')
}
}
})
vm.met_inst(); // Miracolul e mereu posibil
vm.met_mixin(); // Doreste-ti doar si ai frecvent in viziune efectul implinit
vm.same_met(); // Eu sunt Viata mea
Functiile "Hook" cu acelasi nume sunt unite intr-un Array, astfel incat sa fie apelate toate. Functiile "Hook" din Mixin vor fi apelate inaintea celor din instanta Vue.
var mixin_4 ={
created: function(){
console.log('mixin - Dorinta este cererea')
}
}
new Vue({
mixins: [mixin_4],
created: function(){
console.log('component - Viziunea este primirea')
}
})
// mixin - Dorinta este cererea
// component - Viziunea este primirea
Un Test simplu in fiecare zi
HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce tip de <input> creaza un camp de text care trebuie sa contina doar numere?
type="text" type="number" type="date"<input type="number" name="points" min="5" max="80" />
Ce proprietate CSS permite modificarea transparentei unui element?
font-style opacity color#id {
filter:alpha(opacity=40); /* for IE */
opacity:0.4;
}
Clic pe functia care formateaza un numar la o anumita lungime de caractere.
toPrecision() exp() toFixed()var num = 12.84567;
alert( num.toPrecision(3) ); // 12.8
Ce functie aranjeaza aleator elementele dintr-un array?
natsort() shuffle() sort()$lang =[10=>"PHP", 20=>"JavaScript", "site"=>"coursesweb.net");
shuffle($lang);
var_export($lang); // array (0=>"coursesweb.net", 1=>"PHP", 2=>"JavaScript")
Indicati Superlativul cuvantului "good" (bun).
better best goodestShe is the best in our class.
- Ea este cea mai buna din clasa noastra.
Care este Superlativul cuvantului "bueno" (bun)?
el mejor más bueno muy buenoÉl es el mejor en nuestra clase.
- El este cel mai bun din clasa noastra.