zoukankan      html  css  js  c++  java
  • 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')
    }

    }
    }

  • 相关阅读:
    116-如何将java对象转换成json数据?
    082-redis的watch监听起到了什么作用?
    081-linux安装mysql时,为什么要使用mysql用户初始化mysql数据库?
    080-数据库的加密与解密起到了什么作用?
    115-linux安装redis
    114-汉字比较器
    114_LF will be replaced by CRLF 怎么解决?
    113-github如何删除某个文件和文件夹?
    112-git如何向服务器github上传文件
    学习笔记(31)-python访问ElasticSearch
  • 原文地址:https://www.cnblogs.com/xzhce/p/12829856.html
Copyright © 2011-2022 走看看