首页 > 其他分享 >Vue学习笔记62--多组件共享数据

Vue学习笔记62--多组件共享数据

时间:2024-03-26 16:23:01浏览次数:28  
标签:Vue -- sum state value 62 context store

多组件共享数据

main.js

// 引入Vue
import Vue from 'vue'
// 引入App
import App from './App.vue'
// 配置提示
Vue.config.productionTip = false

// 引入vuex、store
import store from './store'//默认引入index.js
new Vue({
  render: h => h(App), store
  
}).$mount('#app')

方式一:Vuex + 计算属性方式

示例一:src/store/index.js

// 该文件用于创建vuex中最为核心的store
// 引入Vue
import Vue from 'vue'
// 引入vuex
import Vuex from 'vuex'
// 使用插件
Vue.use(Vuex)

/*  准备actions--用于相应组件中的动作
1.context--miniStore
2.actions:建议逻辑处理在该处处理
3.如果没有业务路基处理,可直接使用mutations中对应的方法
 */
const actions = {
  incrementOdd (context, value) {
    if (context.state.sum % 2) {
      context.commit('Increment', value)//等价于Increment
      // context.commit('IncrementOdd', value)//等价于Increment
    }
  },
  incrementWait (context, value) {
    setTimeout(() => {
      context.commit('Increment', value)//等价于 IncrementWait
      // context.commit('IncrementWait', value)//等价于Increment
    }, 1000);

  },
}

/* 准备 mutations
用于操作数据(state)  
不建议写业务逻辑 
*/
const mutations = {
  Increment (state, value) {
    state.sum += value
  },
  Decrement (state, value) {
    state.sum -= value
  },
  IncrementOdd (state, value) {
    state.sum += value
  },
  IncrementWait (state, value) {
    state.sum += value
  },
}

// 准备state--用于存储数据(state中存放的就是全局共享数据)
const state = {
  sum: 0,//当前的和
  school: '高新一中',
  subject: '语数外',
  personList: [{ id: '001', name: 'zhangsan' }] //数组

}

// 准备getters--用于将state中的数据进行加工
const getters = {
  bigSum (state) {
    return state.sum * 10
  }
}

//创建store
// const store = new Vuex.Store({

//创建并暴露store
export default new Vuex.Store({
  actions: actions,
  mutations: mutations,
  state: state,
  getters
})
// 暴露store
// export default store

Person.vue

<template>
  <div>
    <h3>人员信息列表</h3>
    <input type="text"
           placeholder="请输入姓名">
    <button @click="addPerson">添加</button>
    <ul>
      <li v-for="p in personList"
          :key="p.id">{{p.name}}</li>
    </ul>
  </div>
</template>

<script>
export default {
  name: 'Person',
  computed: {
    personList () {
      return this.$store.state.personList
    },
  },
  methods: {
    addPerson () {

    },
  },
}
</script>

<style>
</style>

  

 

标签:Vue,--,sum,state,value,62,context,store
From: https://www.cnblogs.com/YYkun/p/18096657

相关文章

  • set集合
    概述存放不可重复的数据,存放数据是无序的基础使用st=set({})#空的set集合print(type(st))st={1,2,3,4,5,6,5,5}print(st)#输出的内容不会重复#去重lst=["张三","李四","张三","王五"]st=set(lst)print(st)#重复的添加不会累计st=set({})st......
  • [QLIE] 封包接口Hook
    [QLIE]封包接口Hook这个主题快拖了半个月,中间一直没空写,今天看着实在有点久了,必须写一写了,不然就快忘记了。起因前不久HappyLiveShowUp发了官中,但是又搞的奇奇怪怪的加密,很是无聊,稍微调了下和之前ハミダシクリエイティブ官中是挺像的。steam的dll是用Themida保护的,其......
  • css设置按钮心跳收缩后,按钮文字上下抖动,如何解决?
    如题,给一个按钮写一个css心跳收缩动画后,按钮中的文字会上下抖动,解决方案为   will-change:transform;代码如下://按键呼吸特效使用class="pulse"@keyframespulse{0%{transform:scale(1);}25%{transform:scale(0.95);}50%{transfo......
  • 【IT老齐070】@Transactional注意
    【IT老齐070】@Transactional注意场景原因经过对比排查,在支付数据原始数据报文中,由于X行上报数据中的存在备选日期(字符串类型)字段,上报后包含隐藏字符,导致生成任务时无法按预期解析,抛出ParseException导致批处理流程中断@Transactional注解的特性是方法执行成功自动......
  • 华为云obs的使用
    1.安装obsutilobsutil是一款用于访问管理华为云对象存储服务(ObjectStorageService,OBS)的命令行工具https://support.huaweicloud.com/utiltg-obs/obs_11_0003.html#下载obsutiltar包wgethttps://obs-community.obs.cn-north-1.myhuaweicloud.com/obsutil/current/obsutil_l......
  • 【IT老齐071】Paxos选举算法
    【IT老齐072】全文检索执行原理https://lamport.azurewebsites.net/pubs/lamport-paxos.pdfPaxos算法是Lamport宗师提出的一种基于消息传递的分布式一致性算法,使其获得2013年图灵奖。在Zookeeper中,通过Paxos算法选举出主节点,同时保证集群数据的强一致性(CP)......
  • 【IT老齐074】海量数据大页码MySQL查询
    【IT老齐074】海量数据大页码MySQL查询场景分页最后数据查询慢,添加索引,索引失效SELECT *FROM blog_browse_historyORDERBY create_time LIMIT500000, 10;查询优化利用索引覆盖特性查找第50000页的起始时间,基于索引快速定位,向后取10条数据SELECT *FROM......
  • 网页设计必备技能:如何用CSS盒子模型打造完美布局?
    在网络设计的世界里,盒子模型是构建网页布局的基石,只有理解了盒子模型,我们才能更好的进行网页布局。HTML中的每一个元素都可以看成是一个盒子,拥有盒子一样的外形和平面空间,它不可见、不直观,但无处不在,所以初学者很容易在这上面出问题。今天就让我们来深入了解一下盒子模型。一......
  • 【IT老齐072】全文检索执行原理
    【IT老齐072】全文检索执行原理全文检索引擎就是对非结构化文本进行解析、搜索的技术非结构化文本的处理关键在于分词与倒排索引分词分词是指将一段文本中有用的词汇提取出来常见的中文分词算法Ngram穷举n=2语法分析+字典:按中文动名词分析推测外加分词字典维护爬......
  • Galgame 引擎免封包略谈
    Galgame引擎免封包略谈关于免封包现在的Gal引擎解包工具是比较全的,基本上很多引擎你或多或少都能找到解包的工具、源码。虽然有些并非全自动,甚至需要找密钥,但是总的来说99%的Gal引擎基解包本是不成问题的。那么对于汉化或者别的操作来说,封包,或是说让游戏读取我们修改过的文件,......