美文网首页让前端飞
Vue核心概念Getter的使用方式

Vue核心概念Getter的使用方式

作者: a333661d6d6e | 来源:发表于2019-02-13 20:56 被阅读23次

    今天小编就为大家分享一篇关于Vue核心概念Getter的使用方法,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。

    有时候我们需要从store中的state中派生出一些状态。
    如果有多个组件需要用到此属性,我们要么复制这个函数,或者抽取到一个共享函数然后在多处导入它——无论哪种方式都不是很理想。

    Vuex 允许我们在store中定义getter属性(可以认为是 store 的计算属性)。就像计算属性一样,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。
    比如这里我们在Page4.vue里面需要对商品价格加倍,我们就可以使用Getter。

    使用Getter

    store.js,我们在state下面加入getters里面有一个商品价格加倍的方法。

    // 在分离出来的vuex文件中安装 Vuex 
    import Vue from 'vue'
    import Vuex from 'vuex'
    Vue.use(Vuex) 
    // 每一个Vuex仓库中只能包含一个store实例
    export const store = new Vuex.Store({ 
      state: { // 把页面显示数据写在store.js文件 
        goodsList: [ 
          { name: '赣州橙子', price: '8.8' }, 
          { name: '新疆哈密瓜', price: '2.0' }, 
          { name: '山东大枣', price: '3.2' }, 
          { name: '阳澄湖大闸蟹', price: '10.0' } 
        ] 
      },
      // getters是vuex中的计算属性对象
      getters: {
        //商品价格加倍;其中goodsPriceDoubble(state)中有一个state参数表示state中的数据对象
        goodsPriceDoubble: state => {
          let goodsPriceDoubble = state.goodsList.map(currentValue => {
            return {
              name: currentValue.name,
              price: currentValue.price *2
            }
          })
          return goodsPriceDoubble;
        }
      }
    })
    

    在page4.vue里面修改成如下:

    <ul class="ul_list">
      <li v-for="item in goodsPriceTwo">
        <p class="name">商品:{{item.name}}</p>
        <p class="price">价格:¥{{item.price}}</p>
      </li>
    </ul>
    

    在computed中加入如下方法:

    computed: {
      goodsPriceTwo() {
        //this.$store.getters.vuex getters中的对应的回调函数的函数名
        return this.$store.getters.goodsPriceDoubble;
     }
    }
    

    显示效果就是page4的商品价格加倍了。

    结语

    感谢您的观看,如有不足之处,欢迎批评指正。

    获取资料

    本次给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。
    对web开发技术感兴趣的同学,欢迎加入Q群:619586920,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。
    最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

    相关文章

      网友评论

        本文标题:Vue核心概念Getter的使用方式

        本文链接:https://www.haomeiwen.com/subject/nzlfjqtx.html