vue.js - 在 VueJS 中检索计算属性

标签 vue.js computed-properties

我使用 Vue-Dragula 进行拖放。当我放下时,它会触发方法:

mounted: function () {
    this.$nextTick(function () {
        Vue.vueDragula.eventBus.$on(
            'drop',
            function (args) {
                console.log(this.championship);
            }
        );

}

现在 this.championship 是一个计算属性:

computed: {
    championship(){
        return this.championships.find((elem) => elem.championship == this.championship_id);
    },
}

其中 championshipschampionship_id 是全局数据。

console.log(this.championship);返回undefined

现在,我简化并写下:

computed: {
    championship(){
        return 2;
    },
}

console.log(this.championship);继续返回undefined

我的代码有什么问题???

最佳答案

使用箭头函数让你的 this 成为实际的 Vue 实例:

mounted () {
    this.$nextTick(() => {
        Vue.vueDragula.eventBus.$on(
            'drop',
            args => console.log(this.championship)
        );
    })
}

关于vue.js - 在 VueJS 中检索计算属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42840488/

相关文章:

angular - 你如何在 Angular 中使用计算/计算的属性?

swift - 结构不调用新对象上的属性观察器

ios - 对计算属性的 Realm 结果集合进行排序?

vue.js - 错误 : Cannot find module '@vue/babel-preset-app'

unit-testing - 在 Vue Test Utils 中模拟退格键

vue.js - 将数据从 PHP/HTML 传递到 .vue 组件

javascript - 如何修复 vue/计算属性中的无副作用?

vue.js - Vuejs 2 v-on :click. 防止()

jquery - 无法初始化 bootstrap-datepicker

python - Django:可查询的计算字段