2016-12-01 4 views
0

Ich habe eine Komponente, die Daten übergibt, dann muss ich diese Daten bei Klick von wahr zu falsch ändern. Ich habe eine Methode namens toggleClass dafür erstellt, aber es funktioniert nicht, und ich bekomme keine Fehler.Vue js - Methoden in Komponenten arbeiten

Vue.component('moustache', { 
name: 'moustache', 
props: ['type', 'img'], 
template: `<li> 
    <p><strong>@{{ type }}</strong></p> 
    <img width="300" height="200" src="/img/image.jpg"> 
    <button class="btn btn-primary" v-bind:class="{ active: isActive }" :data-type="type" @click="toggleClass">Vote</button> 
    </li>`, 
data: function(){ 
    return{ 
     isActive: false 
    } 
}, 
methods: { 
    toggleClass(){ 
      isActive: true 
    } 
} 
}); 

new Vue({ 
    el: '#app' 
}); 

Antwort

1

Sie müssen this verwenden, so dass Sie die Komponente properies zugreifen:

toggleClass(){ 
    this.isActive = !this.isActive; 
} 
+0

Danke, das ist ein Gewinner :) –

-1

, das nicht ist, wie toggleClass funktioniert, gibt es einen Befehl für dieses Argument sein muss, müssen Sie es auf true in den Parametern einzustellen sonst wird es auf das Argument stecken.

Könnten Sie versuchen

methods: { 
    toggleClass(true){ 
     //  isActive: true 
    } 
} 
}); 
+0

Leider paaren, die Fehler wirft. Uncaught SyntaxError: Unerwartetes Token true –