Vue js - 获取在组件中工作的方法

时间:2016-12-01 21:57:51

标签: javascript vue.js

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

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

2 个答案:

答案 0 :(得分:1)

您需要使用this以便可以访问组件属性:

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

答案 1 :(得分:-1)

这不是toggleClass的工作原理,必须有一个这个参数的命令,你需要在参数中将它设置为true,否则它会卡在参数上。

你能试试吗

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