直接上教程
.新创建一个data.js它可以和main.js平级也可以在store文件夹下面都行,无非就是引用的时候前缀多一个单词少一个单词这样
data.js:
从vue上面引入reactive ,然后它可以创建一个也可以创建两个可以任意名称 A或B或C都可以
//data.js
import { reactive } from 'vue';
export const globalData = reactive({
count: 111,
index:'嘿'
});
export const zzz = reactive({
count: 222,
index:'啧'
});
app.vue
从'./store/data';上面引入创建的两个globalData,zzz
<template>
<router-view/>
</template>
<script setup>
import { provide } from 'vue';
import { globalData,zzz } from './store/data';
provide('globalData', globalData);
provide('zzz', zzz);
</script>
home.vue
可以通过名称调用下面自己创建的变量
比如{{ zzz.index }}
<template>
<div>
<h1>
1:{{ globalData.count }}
1:{{ globalData.index }}
</h1>
<h1>
2:{{ zzz.index }}
</h1>
</div>
</template>
<script setup>
import { ref,inject } from 'vue';
const globalData = inject('globalData')
const zzz = inject('zzz')
</script>
如果想加或者减(调用)
一个简单的例子
<template>
<div>
<div @click="jia">加</div>
<div @click="jian">减</div>
<h2>
动态改变:{{ globalData.count }}
</h2>
</div>
</template>
<script setup>
import { ref,inject } from 'vue';
const globalData = inject('globalData')
const zzz = inject('zzz')
// 定义增加 globalData.count 的方法
const jia = () => {
globalData.count += 1;
};
// 定义减少 globalData.count 的方法
const jian = () => {
globalData.count -= 1;
};
</script>
感谢观看