最近在尝试写 VUE,因为旧项目无法做到前后端分离,依旧是基于后端渲染模板模式。
一般项目,会分 页眉、侧栏,内容和页脚。在后端来说,这几块拆分好,然后用 JQ 去写一套逻辑即可。
我尝试用 VUE 去编写,VUE 要求在 createApp({...数据逻辑..}) 中就要声明好了。如果我用到 element UI 的布局划分,
//先注册页眉
header = Vue.createApp({..逻辑和组件..}).use('ElementPlus').mount('#header');
//在注册侧栏
sidebar = Vue.createApp({..逻辑和组件..}).use('ElementPlus').mount('#sidebar');
//最后注册布局
app = Vue.createApp({..逻辑和组件..}).use('ElementPlus').mount('#app');
这是其中一个解决办法,还有另外一种,组件
//在页眉文件 header.php 声明
<script>
const app = Vue.createApp({});
app.use(ElementPlus);
app.component('header', {})
</script>
//sidebar.php 侧栏
<script>
app.component('sidebar', {})
</script>
//content.php 内容
<script>
app.component('sidebar', {})
</script>
//footer.php 页脚
<script>
app.mount("#app");
</script>
感觉很别扭,因为我要将后端的模板变量,转换为 Javascript 的标量,数组或对象。
不知道有没有后端有其他更优雅的解决办法呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.