首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue.js状态更新,但视图未重新呈现

Vue.js状态更新,但视图未重新呈现
EN

Stack Overflow用户
提问于 2018-06-04 06:05:35
回答 2查看 127关注 0票数 0

我很喜欢学习Vue.js,但是我经常遇到这样的问题:当我设置一个基于状态的数据属性时,如果状态发生变化,它不会更新组件。

例如..。

下面是一些代码片段

代码语言:javascript
复制
<router-link v-if="!isDisabled" :to="{ path: '/effects' }">
   <button class="stepButton" :class="{ disabled: false }">Next</button>
</router-link>

<button v-else class="stepButton" :class="{ disabled: isDisabled }">Next</button>


data: function(){
            return {
                ailmentsLib: [
                    "Chronic Pain",
                    "Migraines",
                    "Muscle Spasms",
                    "Stress",
                    "Vertigo",
                    "Nausea"
                ],
                search: '',
                searchMatch: true,
                ailments: [
                    "Chronic Pain",
                    "Migraines",
                    "Muscle Spasms",
                    "Stress",
                    "Vertigo",
                    "Nausea"
                ],
                isDisabled: this.$store.state.ailment.length < 1 ? true : false
            }   
        }

我在我的vue检查器中的状态为正在更改,但该按钮未变为启用状态。

EN

回答 2

Stack Overflow用户

发布于 2018-06-04 06:08:33

问题是data()不会对store中的更改做出反应。您需要使用computed property来监视状态更改。示例:

代码语言:javascript
复制
computed: {
    isDisabled: function ()  {
        return this.$store.state.ailment.length < 1
    }
}
票数 2
EN

Stack Overflow用户

发布于 2018-06-04 13:08:19

如果需要操作和重用数据,也可以使用getter。Getters Vuex

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50671378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档