javascript - Express-Handlebars 部分的 Vue.js 等效项是什么?
问题描述
我使用 Express 和 Handlebars 开始了一个项目,然后被鼓励查看 Vue.js。我仍处于阅读文档的阶段,但到目前为止还无法理解如何在 Vue.js 中拥有布局、部分和部分。我认为部分将是一个组件,但我不知道如何拥有可以注入内容的部分和部分的布局。
这就是我express-handlebars
在一个名为的文件中使用 npm 所做的baselayout.hbs
:
<!doctype html>
<html lang="en">
<head>
{{> global/headcode }} <!-- partial view with code for the head tag. it has stuff like favicon links --->
{{{_sections.pagemeta}}} <!-- page specific metadata injected here. this would be meta keywords description etc for a page/view --->
</head>
<body>
<div>
{{> global/siteheader }} <!--- partial view for the site's header --->
<div id="base-Container">
<main id="base-Content" role="main">
{{{ body }}} <!--- a page's main body content goes here --->
</main>
</div>
</div>
{{> sitefooter }}
{{{_sections.pagescripts}}} <!-- section for page-specific scripts injected here --->
</body>
</html>
我怎样才能在 Vue.js 中设置类似上面的东西,它也适用于服务器端渲染?我只需要一个包含页眉/页脚组件的基本布局,还需要特定页面内容可以进入的部分。
解决方案
您可能需要在组件中使用组件和插槽。
是的,您需要为每个部分创建一个组件。每个组件都有一个模板。
然后,您将拥有一个将所有这些组合在一起的主要组件。使用您已经拥有的更精细的组件(您的部分)。
现在,如果模板结构(每个组件的 html)来自服务器,那么您可以使用插槽 https://vuejs.org/v2/guide/components-slots.html这是 VueJs 允许组件接收自定义标记的一种方式实例化组件时(请参阅文档中的示例)
对于您的应用程序的一般布局和 UI 组件,您可能需要查看https://element.eleme.io/#/en-US/component/layout,它是更流行的 Vuetify 的一个不错的替代品。
推荐阅读
- cakephp - 如何删除 BETWEEN 条件 cakephp 中的单引号
- r - 高效地在列表中重复 data.table,在循环中按顺序替换另一个 data.table 中的同名列
- scala - 如何在 scala/cats 中使用函子
- jquery - 如何在百里香模态中使用 ResponseEntity 对象
- sql - 如何打印在硬件部门和软件部门工作的每位员工的姓名和年龄?
- javascript - 如何在运行时替换 PIXI.Text 对象中的文本
- python - 如何从python shell打开一个windows文件
- xaml - Xamarin Xaml 强制更新界面元素
- python - 如何在没有 itertools 的情况下从数字列表中获取所有可能的值
- php - 如何自定义外键单选框的每个元素,添加 id 或 classes