• vuex使用


    1.安装cnpm install  vuex --save 

    2.src/新建立一个文件夹叫store,里面新建一个js,叫做strore.js

    3.在store.js

    import Vue from 'vue'
    import Vuex from 'vuex'
    Vue.use(Vuex)
    /*外部想要引入这个export*/
    export const store =new Vuex.Store({
    state:{
    product:[
    {name:"虎刺蛾2",price:200},
    {name:"虎刺蛾3",price:100},
    {name:"虎刺蛾4",price:80},
    {name:"虎刺蛾5",price:50}
    ]
    }

    4.mian.js 

     import {store}  from './store/store'

    new Vue(){

     store:store

    }

    5.使用数据显示出来

    <template>
    <div class="hello">
    <ul>
    <li v-for="pro in product">
    {{pro.name}}<br>
    {{pro.price}}
    </li>
    </ul>
    </div>
    </template>

    <script>
    export default {
    computed:{
    product(){
    return this.$store.state.product
    console.log(this.$store.state.product)
    }
    }
    }
    </script>

    想要改变数据

    <template>
    <div class="hello">
    <ul>
    <li v-for="pro in changdataa">
    {{pro.name}}<br>
    {{pro.price}}
    </li>
    </ul>
    </div>
    </template>

    <script>
    export default {
    computed:{
    product(){
    return this.$store.state.product
    //console.log(this.$store.state.product)
    },
    //改变数据
    changdataa(){
    var changdataa=this.$store.state.product.map(
    product =>{
    return{
    name:"**"+product.name+"*",
    price:product.price/2
    };
    });
    return changdataa;
    }
    }
    }
    </script>

    多个组件得复制简写改变数据

    import Vue from 'vue'
    import Vuex from 'vuex'
    Vue.use(Vuex)
    /*外部想要引入这个export*/
    export const store =new Vuex.Store({
    state:{
    product:[
    {name:"虎刺蛾2",price:200},
    {name:"虎刺蛾3",price:100},
    {name:"虎刺蛾4",price:80},
    {name:"虎刺蛾5",price:50}
    ]
    },
    getters:{
    changdataa:(state)=>{
    var changdataa=state.product.map(
    product =>{
    return{
    name:"**"+product.name+"*",
    price:product.price/2
    };
    });
    return changdataa;

    }

    },
    mutations:{
    reduceprice:(state)=>{
    state.product.forEach(pro=>{
    pro.price-=1;

    })

    }
    },
    actions:{
    reduceprice:(context,playload)=>{
    setTimeout(function(){
    context.commit("reduceprice",playload)
    },2000)
    this.$store.dispatch("reduceprice",amount)
    }
    }


    })

    computed:{
    product(){
    return this.$store.state.product
    },
    //改变数据
    changdataa(){
    return this.$store.getters.changdataa;
    }
    }

    //点击时间

    methods:{
    reduceprice(){
    this.$store.commit('reduceprice')
    }

    }
    }

  • 相关阅读:
    一种复杂的情感--“外戚”
    追~
    神受的孩子
    不好的习惯
    思杨改编的朝代歌
    siyang入厕
    小思趣事
    今天周三啦~~时光啊
    Python(6)——装饰器
    Python(5)——关于描述符的三种操作方法
  • 原文地址:https://www.cnblogs.com/xzhce/p/12829856.html
Copyright © 2020-2023  润新知