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
Care tag defineste zona de click intr-o harta creata dintr-o imagine?
<map> <img> <area><img src="image.jpg" usemap="#map1">
<map name="map1">
<area shape="rect" coords="9, 120, 56, 149" href="#">
<area shape="rect" coords="100, 200, 156, 249" href="#">
</map>
Ce proprietate CSS indica ce sa se intample cand continutul unui element depaseste dimensiunile lui?
display overflow position#id {
overflow: auto;
}
Clic pe evenimentul care este declansat cand mouse-ul e deasupra unui obiect.
onclick onmouseover onmouseoutdocument.getElementById("id").onmouseover = function(){
document.write("Sa ai Viata Buna");
}
Indicati variabila PHP ce contine datele adaugate in adresa URL, dupa caracterul "?".
$_SESSION $_GET $_POSTif(isset($_GET["id"])) {
echo $_GET["id"];
}
Clic pe pronumele reflexiv care e potrivit in propozitia: "Marc is the boy ... won the prize".
who which whoeverMarc is the boy who won the prize.
- Marc e baiatul care a castigat premiul.
Clic pe pronumele reflexiv care e potrivit in propozitia: "Voy a ver al pintor de ... les hablé ayer".
que quien cuyoVoy a ver al pintor de quien les hablé ayer.
- Ma duc sa vad pictorul despre care ti-am vorbit ieri.