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 afiseaza textul oblic?
<strong> <pre> <em>
<p>Cursuri, Jocuri, Anime: <em>www.MarPlo.net</em></p>
Care proprietate CSS defineste spatiul dintre continutul elementului si bordura lui?
margin padding position
h3 {
  padding: 2px 0.2em;
}
Clic pe metoda ce returneaza primul element indicat de selectorii specificati.
getElementsByName() querySelector() querySelectorAll()
// preia primul Div cu class="cls", si afiseaza continutul
var elm = document.querySelector("div.cls");
alert(elm.innerHTML);
Indicati variabila PHP ce contine datele din formular trimise cu method="post".
$_SESSION $_GET $_POST
if(isset($_POST["field"])) {
  echo $_POST["field"];
}
Indicati pronumele corespunzator celui din paranteza in propozitia: "(Noi) speak english".
I They We
We speak english.
- Noi vorbim engleza.
Indicati pronumele corespunzator celui din paranteza in propozitia: "(Noi) hablamos español".
Ellos Vosotros Nosotros
Nosotros hablamos español.
- Noi vorbim spaniola.
Mixins

Last accessed pages

  1. Curs PHP MySQL, Tutoriale si Scripturi PHP (19863)
  2. Prepozitii A, de sau en (583)
  3. Teste spaniola - Tests y ejercicios de Español - Gramática (8435)
  4. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (77717)
  5. Por sau para: Exercitiu 1 (1049)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (4472)
  2. Curs HTML gratuit Tutoriale HTML5 (3703)
  3. Curs si Tutoriale JavaScript (3404)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (3277)
  5. Curs CSS Online Tutoriale CSS3 (3193)