本项目使用了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 确保它在初始化前始终隐藏。