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')
    }

    }
    }

  • 相关阅读:
    Java网络编程:OSI七层模型和TCP/IP模型介绍
    Java网络编程:IP地址和端口号
    Java缓冲流的优点和原理
    Java线程的优先级设置遵循什么原则?
    java笔试题大全带答案(经典11题)
    java笔试题大全之IO流常见选择题
    java笔试手写算法面试题大全含答案
    java笔试常见的选择题
    Java的类加载器都有哪些,每个类加载器都有加载那些类,什么是双亲委派模型,是做什么的?
    Java的安全性如何理解
  • 原文地址:https://www.cnblogs.com/xzhce/p/12829856.html
Copyright © 2011-2022 走看看