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>
     
     
  • 相关阅读:
    eclips搭建python开发环境
    win7下odoo服务启动又停止解决方法
    ubuntu14.04调节屏幕亮度
    在ubunut下使用pycharm和eclipse进行python远程调试
    读书笔记——乔布斯,做最好的自己,共创式教练
    压力测试工具——Galting
    番茄工作法和Bullet Journal笔记法
    Openstack Swift中间件编写
    《黑客》读书笔记
    用腻了bootstrap的可以试试semantic-ui
  • 原文地址:https://www.cnblogs.com/zsrTaki/p/11510634.html
Copyright © 2011-2022 走看看