HTML中可重用的视图组件

HTML中可重用的视图组件,html,components,code-reuse,Html,Components,Code Reuse,你能用html创建可重用的组件吗?假设我想将一些css/html和js封装到一个整洁的可重用组件中。web开发人员如何做到这一点?我来自地球C#端的Flex。您可以使用它直接导入HTML片段(例如页眉),但现在大多数框架倾向于从更高的层次处理问题,例如or。这取决于您的环境。HTML(在一个简单的环境中)通常包含在服务器端包含中(其语法取决于您的服务器) 这样你就可以: <!-- #include header.html --> <h1>Blog Page</h1&

你能用html创建可重用的组件吗?假设我想将一些css/html和js封装到一个整洁的可重用组件中。web开发人员如何做到这一点?我来自地球C#端的Flex。

您可以使用它直接导入HTML片段(例如页眉),但现在大多数框架倾向于从更高的层次处理问题,例如or。

这取决于您的环境。HTML(在一个简单的环境中)通常包含在服务器端包含中(其语法取决于您的服务器)

这样你就可以:

<!-- #include header.html -->
<h1>Blog Page</h1>
<p>content...</p>
<!-- #include footer.html -->

博客页面
内容

Javascript包含在外部,因此可以从任何地方调用。如果您在一个“简单”的环境中(没有服务器端代码、CMS等),您可以调用
module.js
,这反过来会加载特定的CSS样式,并将所需的HTML注入DOM中


如果您使用的是任何类型的CMS,他们通常会有一个
模块
想法或
插件
,为您包装这些内容。您在这里使用的是什么?

通常,您可以将代码段放入单独的文件中,然后通过服务器端添加到该文件中,包括:

<!--#include FILE="you_snippet.html" -->


如果您有这个选项,您可能想看看一些模板语言,比如ApacheVelocity。在Velocity中,您不仅可以包含不同的文件,还可以定义宏来为您生成html。

您可以尝试使用模板引擎,如google closure

这里要做的基本上是在一个名为soy files的特殊文件中创建html布局,您将为其提供作为参数传入的数据,这些数据将使用javascript/java进行动态解释。看看他们的教程,很不错。Gmail、Youtube和大部分谷歌产品都广泛使用闭包。

2017年更新 这个问题已经有7年历史了,从那时起,发生了很多变化。现在已在每个主要浏览器中实现或可与多边形填充一起使用。这意味着你可以使用谷歌或微软的支持,正是为了这个

使用聚合物的样本方法: custom-tag.html中的自定义标记声明:


h1{
颜色:红色;
}               
[[姓名]]
[[说明]]

聚合物({ 是:“自定义标签”, 特性:{ 名称:String, 描述:字符串 } });
如何在页面中使用自定义标记: 在头部包含标签:

<link rel="import" href="path/to/custom-tag.html"/>

然后:

<custom-tag
    name="Lorem"
    description="Lorem ipsum dolor sit amet.">
</custom-tag>

由于html导入,您需要一个简单的http服务器。您提到的封装是由影子DOM支持的——javascript和css打包在自定义标记中不会“溢出”并改变元素之外的任何内容,反之亦然(除非您强制)。你们可以发现,聚合物含有大量的元素


关于使用元素和创建自己的元素的所有内容都包含在内。

只需将我的脚趾浸入水中并进行一些事实调查。然后我将使用JS方法。在HTML代码()中保留一个钩子,并包含javascript文件。JS将为您的HTML创建DOM节点,对它们应用样式,替换您的“钩子”,并创建运行bit所需的任何JS函数。我想我在html5(或css3,或相关)规范中看到了一些东西,允许您仅在HTML/css中实现这一点。
<custom-tag
    name="Lorem"
    description="Lorem ipsum dolor sit amet.">
</custom-tag>