zoukankan      html  css  js  c++  java
  • vue-vuex-state响应式

      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
        }
      }

      来个总图:

  • 相关阅读:
    视图容器组件使用
    组件的学习
    伸展树
    二叉搜索树
    二叉树
    笛卡尔树
    二叉堆
    vim配置
    使用vim-pathogen 进行插件管理
    C/C++中的变量和静态变量
  • 原文地址:https://www.cnblogs.com/ibcdwx/p/14640898.html
Copyright © 2011-2022 走看看