zoukankan      html  css  js  c++  java
  • 计数器(2018/11/29)

    counter/state.js
     
    export default{
         arr:[11,22,33]
    }
     
    counter/getter.js
     
    export default{
         sum(state){
              return state.arr.reduce((a,b)=>a+b)
         }
    }
     
    counter/mutations.js
     
    export default{
         inc(state,p){
              state.arr.splice(p,1,++state.arr[p])//这样数据和视图都会更新
              //state.arr[p]++ //这样数据会更新,视图不会更新
         }
    }
     
    counter/index.js
     
    import state from './state'
    import getters from './getters'
    import mutations from './mutations'
    export default{
         state,
         getters,
         mutations
    }
     
    components/counter.vue
     
    <template>
         <div id="class">
              {{n}}<button @click='inc'>+</button>
         </div>
    </template>
    <script>
         export default{
              props:["idx"],
              data(){
                  return{
                       n:this.$store.state.Counter.arr[this.idx]
                  }
              },
              methods:{
                  inc(){
                       this.$store.commit("inc",this.idx)
                       this.n=this.$store.state.Counter.arr[this.idx]
                  }
              }
         }
    </script>
     
    store/index.js
     
    import Vue from 'vue'
    import Vuex from 'vuex'
    import Counter from './counter'
    import List from './list'
    Vue.use(Vuex)
    var store = new Vuex.Store({
         modules:{
              Counter,
              List
         }
    })
    export default store
     
    App.vue
    <template>
      <div id="app">
              <Counter :idx="0"/>
              <Counter :idx="1"/>
              <Counter :idx="2"/>
              {{sum}}
              <List/>
        <router-view/>
      </div>
    </template>
    <script>
         import Counter from './components/counter'
         import List from './components/list'
    export default {
      name: 'App',
      components:{
         Counter,
         List
      },
      computed:{
         sum(){
              return this.$store.getters.sum
         }
      }
    }
    </script>
     
     
  • 相关阅读:
    贝尔级数
    NOIP2018 退役记
    Codeforces1106F 【BSGS】【矩阵快速幂】【exgcd】
    codeforces1111 简单题【DE】简要题解
    BZOJ4836: [Lydsy1704月赛]二元运算【分治FFT】【卡常(没卡过)】
    BZOJ3771: Triple【生成函数】
    Codeforces 1096G. Lucky Tickets【生成函数】
    Codeforces1099F. Cookies【DP】【线段树】【贪心】【博弈】【沙比提(这是啥算法)】
    Codeforces gym101955 A【树形dp】
    BZOJ3551: [ONTAK2010]Peaks加强版【Kruskal重构树】【主席树】
  • 原文地址:https://www.cnblogs.com/zsrTaki/p/11510634.html
Copyright © 2011-2022 走看看