设计一个H5编辑器的数据模型和核心功能

js 复制代码
const store = {
    page: {
        title: '标题',
        setting: {}, // 其他扩展信息的语言,微信分享的配置,其他
        props: {}, // 当前页面的属性设置, 背景
        components: [
            // 有序,数组
            {
                id: 'x1',
                name: "文本1",
                tag: 'text', // type
                style: { color: 'red', fontSize: '16px' },
                attr: {}, // 其他属性
                text: '文本1',
            },
            {
                id: 'x2',
                name: "文本2",
                tag: 'text', // type
                style: { color: 'red', fontSize: '16px' },
                attr: {}, // 其他属性
                text: '文本2',
            }
        ]
    },
    activeComponentsId:'x3'  // 记录选中的id vuex
}

const getters = {
    layers() {
        store.page.components.map(c => {
            return {
                id: c.id,
                name: c.name
            }
        })
    }
}

总结

组件有序结构 参考vnode 格式
通过id对应选中的组件,即可使用Vuex同步数据
图层使用Vuex getter,而非对立的数据
相关推荐
影i2 小时前
Vue 3 踩坑实录:如何优雅地把“上古”第三方插件关进 Iframe 小黑屋
前端
小明记账簿_微信小程序2 小时前
vue项目中使用echarts做词云图
前端
浪浪山_大橙子2 小时前
Trae SOLO 生成 TensorFlow.js 手势抓取物品太牛了 程序员可以退下了
前端·javascript
出征3 小时前
Pnpm的进化进程
前端
屿小夏3 小时前
openGauss020-openGauss 向量数据库深度解析:从存储到AI的全栈优化
前端
Y***98513 小时前
【学术会议论文投稿】Spring Boot实战:零基础打造你的Web应用新纪元
前端·spring boot·后端
q***33373 小时前
SpringMVC新版本踩坑[已解决]
android·前端·后端
亿元程序员4 小时前
做了十年游戏,我才意识到:程序员最该投资的,是一台专业的编程显示器
前端
IT_陈寒4 小时前
Python高手都在用的5个隐藏技巧,让你的代码效率提升50%
前端·人工智能·后端
lcc1874 小时前
Vue3 ref函数和reactive函数
前端·vue.js