• vux使用和帮助函数


    store   index.js
    import Vue from 'vue'
    import Vuex from 'vuex'

    Vue.use(Vuex)

    export default new Vuex.Store({
      
      state: {
        duan:"192",
        age:"15"
      },
      mutations: {
        edit(state,payload){
          state.duan = payload
      }
      },
      getters:{
        nameInfo(state){
          return "姓名:"+state.age
        },
        fullInfo(state,getters){
          return "姓名"+ getters.nameInfo +'年龄:'+state.age
        } ,
        namepac(state,getters){
          return state.age+getters.nameInfo+getters.fullInfo+getters.fullInfo
        }
      },
      actions: {
        aEdit(context,k){
          setTimeout(()=>{
              context.commit('edit',k)
          },2000)
      }
      },
      modules: {
      },
      strict:true
    })
     
    -----------------------------------------
     
    组件中使用
    <template>
      <div class="hello">
        <h1>{{ msg }}</h1>

        <div>{{this.$store.state.duan}}</div>
        ---<p>{{duan}}</p>---
        <p>{{localState}}</p>
        <p @click="aa({age:18})">{{countss}}</p>
        <p>{{this.$store.getters.fullInfo}} </p>
        --
        <p> {{this.$store.getters.namepac}}</p>
        =-
        <p>{{namepac}}</p>
      </div>
    </template>

    <script>
    import {mapState,mapGetters,mapActions} from "vuex"
    import store from "../store/index";
    export default {
      name: "HelloWorld",
      props: {
        msg: String
      },
      created () {
            setTimeout(()=>{
             this.$store.commit("edit",{age:15,sex:'男'});
          },5000)
        
      },
      data() {
        return {
          localState: 123
        };
      },
      methods: {
        aa() {
          this.$store.commit("edit",25);

         
          this.$store.dispatch('aEdit',{age:18})
        }
      },
      computed: {
         ...mapState(["duan"]
           
         ),
          ...mapActions(['aEdit']),
         ...mapGetters(["namepac"]),
        // count() {
        //   return store.state.data;
        // },
        countss() {
          return store.state.duan * this.localState + this.msg;
        }
      }
    };
    </script>

    <!-- Add "scoped" attribute to limit CSS to this component only -->
     
     
     
  • 相关阅读:
    VirtualBox下Ubuntu更改分辨率方法
    Asp.Net防止刷新重复提交数据小记
    耻辱名单新成员,腾讯QQ影音违反开源协议遭谴责
    赛门铁克BERS 2010新增Linux备份还原
    开源邮件服务解决方案 iRedMail0.6.0beta1 发布,支持 FreeBSD
    防止ASP.NET按钮多次提交代码
    与省局网站备案管理系统接口规范试行版文件下载地址
    2010预测:开源ERP难有大作为
    ASP.NET对IIS中的虚拟目录进行操作
    C#三种模拟自动登录和提交POST信息的实现方法
  • 原文地址:https://www.cnblogs.com/1609359841qq/p/12986689.html
Copyright © 2020-2023  润新知