【问题标题】:Vue.js v-show directive reactivityVue.js v-show 指令反应性
【发布时间】:2020-02-18 07:53:29
【问题描述】:

我有一个带有 v-showv-for 指令的 div 进入我的模板。

由于我需要显示/隐藏每个索引键,我在 v-show 函数中传递索引,这迫使我编写一个方法函数,而不是一个计算函数。

我的问题是,在某个时候,我想使用 Vue 响应式地显示隐藏的 div,而不需要重新渲染,我该如何实现?

模板

<div
    v-for="(file,index) in cluster.files"
    v-show="showPartialFiles(index)"
    v-bind:key="index"
>

脚本

methods: {
            showPartialFiles: function(index){
                if (index <= this.$store.state.numberOfAssignmentCutoff - 1)
                return true;
            },
    }

附言 我用 vanilla/JQuery 编写来完成这一点没有问题,但我想用 Vue 将它构建到 Vue 对象中,以便将来实现可扩展性和可重用性。

非常感谢,巴德。

【问题讨论】:

  • 您目前面临的挑战/错误是什么?只要保证file 变量是反应式的,这段代码看起来应该可以正常工作。

标签: javascript vue.js


【解决方案1】:

您可以为此使用计算属性,然后 v-show 将对商店中的更改做出反应;

computed: {
    showPartialFiles() {
        return (index) => {
            return index <= this.$store.state.numberOfAssignmentCutoff - 1
        }
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-31
    • 2017-02-08
    • 2021-11-27
    • 2021-07-10
    • 2021-08-30
    • 2018-04-11
    • 2017-07-14
    • 1970-01-01
    相关资源
    最近更新 更多