From 84be0f28a660ddf8d7c98bd55ec134a380111a04 Mon Sep 17 00:00:00 2001 From: 13315423919 <13315423919@qq.com> Date: Wed, 19 Nov 2025 19:43:18 +0800 Subject: [PATCH] Add File --- doc/AlpineJs.md | 113 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 doc/AlpineJs.md diff --git a/doc/AlpineJs.md b/doc/AlpineJs.md new file mode 100644 index 0000000..96cf58a --- /dev/null +++ b/doc/AlpineJs.md @@ -0,0 +1,113 @@ +本项目使用了AlpineJs作为前端主要库,目的是简单快捷,语法类似于VUE2. + +中文官网:https://www.alpinejs.cn/ +国际官网:https://alpinejs.dev/ + +和UI相关的资源,本项目使用了如下的资源 +https://www.penguinui.com/ +https://devdojo.com/pines +https://pinemix.com/ + + +更多信息可以在bing中搜索alpine js ui library + + +作者编写了alp_unit.js实现单一模块的封装和加载,如下所示: + +
+
+ + +其中动态加载,需要手工指定触发时机,如下方式: + + + + +1. init函数中监控触发 + init(){ + + //动态加载,AI对话框 + this.$watch('ppt_modalIsOpen',value => { + if (value){ + this.$nextTick(() => { + var dom = document.getElementById("ppt_ai_dialog") + scan_alp_units(dom); + }); + } + }); + + },//初始化函数 + +2. 事件触发函数: +enter_chat_agent(index){ + //先设置值 + this.ppt_modalIsOpen = true; + + //更新后动态加载 + this.$nextTick(() => { + var dom = document.getElementById("ppt_ai_dialog") + scan_alp_units(dom); + }); + +} + +==============================事件分发价值,在多个组件之间进行消息数据的传递======================= +

注意:事件名称一定要全部小写,这是AlpineJs,但可以使用-,如my-event等

+跨组件不能使用x-model,最多就是使用下级还没有定义的上级的一些属性和方法,复杂的情况都需要使用事件来传递 + +1. 组件内和上下级组件传递和接收 +
+
+ +2. 函数内定义和接收参数 +
+
+ + + +3. 平行组件的接收 +
+ + + + +
+ 我是弹出内容! +
+ +2. 全局 CSS 中定义 x-cloak 隐藏规则(必须!) +Html +深色版本 + +💡 即使 x-show 最终会设为 false,但在 Alpine 初始化完成前,浏览器仍会渲染该元素。x-cloak 确保它在初始化前始终隐藏。 \ No newline at end of file