2016-12-01 48 views
0

我有一个组件传入数据,然后我需要在点击时将该数据从true更改为false。我为此创建了一个名为toggleClass的方法,但它不起作用,我没有收到任何错误。Vue js - 获取方法在组件中工作

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' 
}); 

回答

1

您需要使用this这样您就可以访问该组件性的判定:

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

谢谢,这是一个赢家:) –

-1

这toggleClass不是如何工作的,必须有这种说法命令,你需要将其设置为true的参数否则会卡住的说法。

你能尝试

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

对不起队友抛出的错误。未捕获的SyntaxError:意外的标记为true –