首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Vuex和动态。是可能的吗?

Vuex和动态。是可能的吗?
EN

Stack Overflow用户
提问于 2019-02-22 00:22:02
回答 1查看 3.5K关注 0票数 0

我在Vuex开了一家店,店里空荡荡的

代码语言:javascript
运行
复制
const state = {
    data: {

    }
};

和一个简单的突变测试,以改变值或添加新数据

代码语言:javascript
运行
复制
const mutations = {
    changeOrAdd(state, {key,value}) {
        state.data[key] = value;
    }
};

如果我提交了一个changeOrAdd,它会被添加到状态,但它不具有反应性。

我使用了一个简单的技巧来更改默认值

代码语言:javascript
运行
复制
const state = {
    data: {
        change: 0
    }
};

在变异中:

代码语言:javascript
运行
复制
const mutations = {
    changeValueAttr(state, {
        key,
        value
    }) {
        state.data[key] = value;
        state.data.change++;
    }
};

每次我改变或添加一个新的值,它看起来就像是一个反应性。

但是,有没有一种方法可以在没有“默认”变量和这个愚蠢的技巧的情况下做到这一点呢?

在store vue中添加新数据并使其具有反应性?

谢谢

EN

Stack Overflow用户

发布于 2019-02-22 00:28:46

由于键最初并未在数据中声明,因此Vue无法跟踪更改。您需要使用Vue.set来动态添加属性,请参见change detection caveats

代码语言:javascript
运行
复制
import Vue from 'vue'

const mutations = {
    changeOrAdd(state, {key, value}) {
        Vue.set(state.data, key, value)
    }
}
票数 10
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54811786

复制
相关文章

相似问题

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