vue状态管理,vue数据共用

vue单页面程序共享数据,状态管理方法,vuex的简化版

在程序文件夹中创建一个js文件,以保存所有共享数据

// 共享数据
const Store = {
    state: {
        name: '',
        age: '',
        sex:''
    },
    setName(name) {
        this.state.name = name
        console.log('set', this.state.name)
    },
    // 设置年龄
    setAge(val) {
        this.state.walletAddress = val
        console.log('set', this.state.walletAddress)
    },
    // 设置性别
    setSex(val) {
        this.state.walletNetworkId = val
        console.log('set', this.state.walletNetworkId)
    },
}
export default Store

在需要使用数据的组件中引入数据文件,

<script>
// 引入共享数据文件
import Store from "../store.js";

export default {
  data() {
    return {
      // 页面中引入共享数据的。注意只能引入到这一层,否者没法触发动态更新。
      //在页面中使用的时候 这样使用{{state.name}}
      state: Store.state,
      }
    },
    methods:{
		setName(){
			//修改共享数据的值
			Store.setName('张三')
		}
	}
 }
</script>

vue单页面程序,不同组件之间怎么传输数据,以往都是使用sessionStorage,这样特麻烦又要转对象又要转字符串的,还经常容易搞错。vue官方有解决方案,组件之间的父子传值也可以实现,如果只作为显示,父组件给子组件传值去显示这样是极好的,但是子组件要修改值就需要定义事件,然后父组件捕获事件,这样比较复杂。vuex可以实现数据共享的烦恼,但是官方文档说了,vuex适合中大型的单页程序,叫看简单实现方案,简单实现方案我看了是一脸懵逼,相当于啥都没写找了不少资料终于摸索出来了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值