首页 > 其他 > 详细

vue-vuex-state响应式

时间:2021-04-10 15:59:10      阅读:20      评论:0      收藏:0      [点我收藏+]

  vuex的store对象的state是响应式,凡是预先在state中定义的状态,都会被加入到响应式系统中,当状态发生了变化,所有引用状态的vue文件的template都会随之发生变化,做到响应式的功能。刚才也说了,提前定义好的会被加入到响应式系统中,那后面追加的属性或对象能不能加入到响应式系统中呢?答案是 如果按照指定的方式来添加和删除属性,是可以做到响应式的。

  比如现在我要添加一个新属性height,用两种方式添加,如下:

  方式1:此种方式能添加state中对象的属性,但无法加入到响应式系统中,即页面上不会显示出来,实际上确实存在了这个属性

  mutations: {
    addheight(state){
      state.stus[0][height] = 168
    }
  }

  方式2:此方式可以让属性加入到响应式系统中

  mutations: {
    addheight(state){
      Vue.set(state.stus[1],height,178) //参数一为对象,参数二为key,参数为value
    }
  }

  说完添加属性,再说下删除吧,想要删除属性并加入响应式系统,如下方式:

  mutations: {
    delheight(state){
      Vue.delete(state.stus[1],height) //参数一为对象,参数二是key
    }
  }

  来个总图:

技术分享图片

 

vue-vuex-state响应式

原文:https://www.cnblogs.com/ibcdwx/p/14640898.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!