无厘头 -- 基于vue 公用状态机,已用于放置类篮球卡牌Game

引入 Piniaa

npm install pinia
# or yarn add pinia

或者

"dependencies": {
    "@ckpack/vue-color": "^1.4.1",
    "@element-plus/icons-vue": "^2.0.10",
    "axios": "^1.3.2",
    "element-plus": "^2.2.29",
    "lodash-es": "^4.17.21",
    "pinia": "^2.0.28",
    "vue": "^3.2.45",
    "vue-hooks-plus": "1.6.0-alpha.2",
    "vue-router": "^4.1.6",
    "vue3-moveable": "^0.18.1"
  },

完整 vue (公用状态) 代码如下:

关键是用了 pinia 这个库,好像专门用于保存状态

import { ref, watchEffect } from 'vue';
import { defineStore } from 'pinia';

export const usePageState = defineStore('pageState', () => {
  const pageTitle = ref('视频编辑(CcClip)');
  // 暗色模式
  const isDark = ref(localStorage.theme !== 'light');
  const isLoading = ref(localStorage.loadingPage === '1');
  const hideSubMenu = ref(localStorage.showSubmenu === '0');
  watchEffect(() => {
    console.log(`switch to ${isDark.value ? 'dark' : 'light'}`);
    localStorage.theme = isDark.value ? 'dark' : 'light';
    localStorage.loadingPage = isLoading.value ? '1' : '0';
    localStorage.hideSubMenu = hideSubMenu.value ? '1' : '0';
    document.documentElement.classList[isDark.value ? 'add' : 'remove']('dark');
  });

  // 属性宽度
  const attrWidth = ref(parseInt(localStorage.attrW || '320'));
  // 轨道高度
  const trackHeight = ref(parseInt(localStorage.trackH || '380'));
  watchEffect(() => {
    localStorage.attrW = attrWidth.value;
    localStorage.trackH = trackHeight.value;
  });

  return {
    hideSubMenu,
    isLoading,
    pageTitle,
    isDark,
    attrWidth,
    trackHeight
  };
});

调用方法

import { usePageState } from "../usePageState";
private store = usePageState();
console.log('ffff.isDark= ',this.store.isDark)

无厘头 - tsconfig.json 片段(支持 @别名)

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    }
  }
}

多个Vue 文件可公用一个状态

例如,可用于当前金币,任务列表啊,和技能等级等等;

即使是列表,也是公用存储所有的数据,按照item _id 获取单个数据,再一行行显示;

没那么简单

import { useUserStore } from '@/stores/user'
import { createPinia } from 'pinia'
import { createApp } from 'vue'
import App from './App.vue'

// ❌ 这里会报错,因为 pinia 还没创建
const userStore = useUserStore()

const pinia = createPinia()
const app = createApp(App)
app.use(pinia)

app.mount('#app')

也就是要初始化一下,之前一直是 AI 做的,所以根本不清楚

以为 import 即可用,不是的,要初始化 

import { useUserStore } from '@/stores/user'
import { createPinia } from 'pinia'
import { createApp } from 'vue'
import App from './App.vue'

const pinia = createPinia()
const app = createApp(App)
app.use(pinia)

// ✅ 在 app.use(pinia) 之后调用才安全
const userStore = useUserStore()

无厘头-参考:Unity插件2D Tilemap Editor入门

之后再用AI做一个地图工具吧,暂时没有Tilemap 地图的需求

https://www.youtube.com/watch?v=hx3ieBzVNg0

内容概要:本文围绕分布式电源接入对配电网的影响展开研究,利用Matlab进行建模仿真与代码实现,系统分析了分布式电源(如光伏、风电等)接入后对配电网在电能质量、潮流分布、电压稳定性、保护配置等方面的影响。研究涵盖了多种分布式电源型与不同渗透率场景,通过构建典型的配电网模型,仿真其在正常运行及故障条件下的动态响应特性,重点探讨了分布式电源引起的电压越限、反向潮流、短路电流水平变化等问题,并提出了相应的优化调控策略与解决方案。同时,结合主动配电网的有功无功协调优化、鲁棒调度等高级应用,展示了如何借助现代优化算法提升系统接纳能力与运行经济性。; 适合人群:具备电力系统基础知识,熟悉Matlab/Simulink仿真环境,从事新能源接入、配电网规划与运行等相关领域的科研人员、工程师及高校研究生。; 使用场景及目标:①掌握分布式电源接入对配电网关键指标的影响机制;②学习基于Matlab的配电网建模与仿真方法;③理解并实现主动配电网的协调优化调度算法;④为实际工程中分布式电源并网方案设计与问题诊断提供理论支持和技术参考。; 阅读建议:建议读者结合文中提供的Matlab代码,逐步复现仿真案例,深入理解模型构建与算法实现细节,并尝试在不同参数设置或网络结构下进行拓展实验,以增强对系统动态行为的认知与分析能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

avi9111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值