首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改Vue数据对象

更改Vue数据对象
EN

Stack Overflow用户
提问于 2019-01-29 03:00:35
回答 1查看 1.5K关注 0票数 0

更新的代码

代码语言:javascript
复制
<template>
     <swiper-slide v-for="(photon,key) in $store.state.photons" :key='key'>
            <radial-gauge :value='photon.tempF'  
                 :options="photon.GaugeOptions.optionsLastTempF"></radial-gauge>
     </swiper-slide>
</template>

store.js

代码语言:javascript
复制
export const store = new Vuex.Store({
  state: {
    photons: {},
    token: '',
  },
  mutations: {
    setUser(state, value) {
      value.data.forEach(element => {
        state.photons[element.id].user = element.data    
        state.photons[element.id].GaugeOptions.optionsLastTempF.highlights[0].to=parseInt(element.data.tempAlert,10) 
        state.photons[element.id].GaugeOptions.optionsLastTempF.highlights[1].from=parseInt(element.data.tempAlert,10)+1 
      });
    }},
actions: {
 async getData(context) {
      let db = []
      let photon = {}
      db = await axios.get('http://13.14.13.1:3300/DB')
      db.data.forEach(item => {
        if ([Object.keys(item)[0]] in photon) {
          let dataString = (Object.values(item)[0]).split(',')
photon[Object.keys(item)[0]].GaugeOptions={}
          photon[Object.keys(item)[0]].GaugeOptions.optionsLastTempF={
            title: 'Last Temp',
            units: "°F",
            minorTicks: 10,
            majorTicks: ['0', '20', '40', '60', '80', '100', '120', '140', '160'],
            maxValue: 160,
            highlights: [{
                    "from": 0,
                    "to": 0,
                    "color": "rgba(0,255,0)"
                },
                {
                    "from":0,
                    "to": 160,
                    "color": "rgba(255,0,0)"
                },

            ],
            colorPlate: '#222',
            colorUnits: '#ccc',
            colorTitle: '#eee',
            colorNumbers: '#eee',
            width: 200,
            height: 200
          }
 context.commit('setData', photon)
    }
}
}

如果我从主页转到这些仪表所在的图表页面,但如果我刷新页面,仪表具有正确的值,但它们没有正确更新,则此代码目前可以正常工作。

更新,以便在向我的组件添加v-if之后,它现在可以正确地加载所有内容。如果我在我的vuex存储中进行突变,我将如何引用我的组件来调用更新?

EN

回答 1

Stack Overflow用户

发布于 2019-01-29 03:08:47

因此,通常情况下,Vuejs不会监视嵌套对象。我建议你修改一下你的代码来避免这种情况。这应该会有帮助:Vue.js - How to properly watch for nested data

此外,看起来您正在尝试引用Vuex Store对象,但是您使用的是data方法而不是computed方法,因此您不会获得有关该对象的更新。

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

https://stackoverflow.com/questions/54408602

复制
相关文章

相似问题

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