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 atribut e folosit in tag-ul <img> pentru adresa imaginii?
href src rel
<img src="http://coursesweb.net/imgs/webcourses.gif" width="191" height="63" alt="Courses-Web" />
Care din aceste coduri CSS ascunde elementul in pagina?
display: none; display: inline; position: relative;
#id {
  display: none;
}
Ce instructiune opreste executia lui while() sau for() ?
continue prompt() break
for(var i = 0; i< 8; i++) {
  if(i > 1) break;
  alert(i);
}
Indicati functia utilizata pentru a crea constante.
define() include() defined()
define("CONSTANT_NAME", "value");
echo CONSTANT_NAME;
Care este forma de plural a substativului "class" (clasa)?
classes clases clasis
This school has three classes.
- Scoala asta are trei clase.
Care este pluralul substativului "voz" (voce)?
vose voze voces
Escuché dos voces.
- Am auzit doua voci.
Mixins

Last accessed pages

  1. Curs si Tutoriale JavaScript (34126)
  2. Articolul din limba engleza - The article (33531)
  3. Utilizare getElementsByTagName in JS (354)
  4. Instructiuni repetitive for si while (2244)
  5. Curs PHP MySQL, Tutoriale si Scripturi PHP (32206)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (7500)
  2. Curs HTML gratuit Tutoriale HTML5 (6114)
  3. Curs si Tutoriale JavaScript (5087)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (4767)
  5. Curs CSS Online Tutoriale CSS3 (4631)