pinia参考这个:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<div id="app">
<p>
Counter: {{ store.counter }} Double: {{ store.double }}
</p>
<button @click="store.increment">Increment</button>
</div>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue3.2.22.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/VueDemi.js"></script>
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/pinia.js"></script>
<script>
const useStore = Pinia.defineStore({
id: 'main',
state: () => ({
counter: 0 }),
getters: {
double: state => state.counter * 2 },
actions: {
increment() {
this.counter++;
} } });
// 创建自定义插件
function createCustomPersistPlugin(options = {}) {
return ({ store }) => {
// 在插件初始化时从自定义存储引擎中加载状态
const persistedState = loadFromCustomStorage(options.key);
if (persistedState) {
// 将加载的状态应用到store
store.$patch(persistedState);
}
// 监听store的状态变化,将变化后的状态保存到自定义存储引擎
store.$subscribe((mutation, state) => {
saveToCustomStorage(options.key, state);
});
};
}
function loadFromCustomStorage(key) {
const persistedState = localStorage.getItem(key);
return persistedState ? JSON.parse(persistedState) : null;
}
function saveToCustomStorage(key, state) {
localStorage.setItem(key, JSON.stringify(state));
}
// 加载Pina插件
const customPersistPlugin = createCustomPersistPlugin({
key: 'myCustomStorageKey', // 设置自定义存储引擎的键
});
const pinia = Pinia.createPinia();
pinia.use(customPersistPlugin); //
const App = {
setup() {
const store = useStore();
return { store };
} };
const app = Vue.createApp(App).use(pinia);
app.mount('#app');
</script>
</body>
</html> 网友回复
如何破解绕开seedance2.0真人照片生成视频 限制?
python有哪些算法可以将视频中的每个帧图片去除指定区域水印合成新的视频?
iphone的激光雷达数据能否实时传输到three三维空间中?
豆包sora等ai视频生成大模型生成的视频水印如何去除?
python如何实现在电脑上拨号打电话给手机?
具身机器人与人形机器人区别?
nodejs如何将一个完整的js代码文件切割成不同的部分混淆后动态加载进入html运行?
为啥windows.onerror捕获js错误是这样的{"message":"Script error.","source":"","lineno":0,"colno":0,"stack":null,
2026年ai将全面接管编程?
WebMCP是干啥的?


