如您所见,Jade使用与我们在编写CSS选择器时已经熟悉的语法相同的语法,从而更容易找到类。 的块
强大的功能 >现在我们已经介绍了基础知识,让我们窥视一些功能强大的功能,这将使您的标记更聪明。我们将在本教程的其余部分中查看以下功能:
在Codepen上查看此示例
当然,在这种情况下,有序列表会更合适,但是您明白了。现在,如果您担心XSS和HTML逃脱,请阅读文档以获取更多信息。
>
>您也可以迭代对象并使用循环时使用。查看文档以获取更多信息。 >将JavaScript混合到这样的文本中可能会很烦人。玉有一个优雅的解决方案吗?您敢打赌。 在Codepen上查看此示例 不是整洁吗? 混合蛋白就像功能一样。他们将参数作为输入,并将标记作为输出。使用Mixin关键字定义Mixin。
>为电影卡创建混合蛋白
,但是请等一下。如果我们现在想在单击电影的标题时转到电影的IMDB页面怎么办?我们可以在混音中添加一行:a(href = movie.imdburl)。 在Codepen上查看此示例
重要说明:正如你们中有些人可能已经知道的那样,由于软件商标索赔,Jade已重命名为Pug。将来,有关玉的文章将使用新名称“ pug”或“ pugjs”。 >如何将html转换为jade? > jade和html? > 是的,是的,您可以在Jade模板中使用Javascript。 Jade支持各种JavaScript构造,包括变量,表达式,控制结构(例如IF-ELSE语句和循环)和功能。要将JavaScript代码包含在您的Jade模板中,请以 - 。 >。例如,//这是评论将向您的Jade代码添加评论。请注意,此评论将不包含在渲染的html中。 这是html中的一些文本
<span><span><span><div</span> class<span>="movie-card"</span> id<span>="oceans-11"</span>></span>
</span> <span><span><span><h1</span> class<span>="movie-title"</span>></span>Ocean's 11<span><span></h1</span>></span>
</span> <span><span><span><img</span> src<span>="/img/oceans-11.png"</span> class<span>="movie-poster"</span>></span>
</span> <span><span><span><ul</span> class<span>="genre-list"</span>></span>
</span> <span><span><span><li</span>></span>Comedy<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Thriller<span><span></li</span>></span>
</span> <span><span><span></ul</span>></span>
</span><span><span><span></div</span>></span></span>
在Codepen上查看此示例div.movie-card#oceans-11
h1.movie-title Ocean's 11
img.movie-poster(src="/img/oceans-11.png")
ul.genre-list
li Comedy
li Thriller
在Codepen上查看此示例>您可能已经注意到本文第一个代码示例中的一个无辜时期。在标签之后添加一个周期(完整停止)表明该标签中的所有内容都是文本,Jade停止将每个行上的第一个单词视为HTML标签。
div
p How are you?
p.
I'm fine thank you.
And you? I heard you fell into a lake?
That's rather unfortunate. I hate it when my shoes get wet.
>
循环
我们在这里做了什么?通过使用连字符启动一条线,我们向Jade编译器指出,我们希望开始使用JavaScript,并且它可以按照我们的期望。当您将上面的Jade代码汇编为HTML时,这就是您得到的:>
- var x = 5;
div
ul
- for (var i=1; i<=x; i++) {
li Hello
- }
<span><span><span><div</span>></span>
</span> <span><span><span><ul</span>></span>
</span> <span><span><span><li</span>></span>Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Hello<span><span></li</span>></span>
</span> <span><span><span></ul</span>></span>
</span><span><span><span></div</span>></span></span>
- var x = 5;
div
ul
- for (var i=1; i<=x; i++) {
li= i + ". Hello"
- }
循环<span><span><span><div</span>></span>
</span> <span><span><span><ul</span>></span>
</span> <span><span><span><li</span>></span>1. Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>2. Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>3. Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>4. Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>5. Hello<span><span></li</span>></span>
</span> <span><span><span></ul</span>></span>
</span><span><span><span></div</span>></span></span>
在Codepen上查看此示例
插值
<span><span><span><div</span> class<span>="movie-card"</span> id<span>="oceans-11"</span>></span>
</span> <span><span><span><h1</span> class<span>="movie-title"</span>></span>Ocean's 11<span><span></h1</span>></span>
</span> <span><span><span><img</span> src<span>="/img/oceans-11.png"</span> class<span>="movie-poster"</span>></span>
</span> <span><span><span><ul</span> class<span>="genre-list"</span>></span>
</span> <span><span><span><li</span>></span>Comedy<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Thriller<span><span></li</span>></span>
</span> <span><span><span></ul</span>></span>
</span><span><span><span></div</span>></span></span>
> Mixins
div.movie-card#oceans-11
h1.movie-title Ocean's 11
img.movie-poster(src="/img/oceans-11.png")
ul.genre-list
li Comedy
li Thriller
定义了混合蛋白后,您可以用语法调用混合物。
div
p How are you?
p.
I'm fine thank you.
And you? I heard you fell into a lake?
That's rather unfortunate. I hate it when my shoes get wet.
>
- var x = 5;
div
ul
- for (var i=1; i<=x; i++) {
li Hello
- }
>让我们整理到迄今为止所学到的一切。假设我们有一系列不错的电影,每个项目都包含电影的标题,演员阵容(子阵列),评分,类型,指向IMDB页面的链接以及电影海报的图像路径。阵列看起来像这样(添加了可读性的空白):
>
<span><span><span><div</span>></span>
</span> <span><span><span><ul</span>></span>
</span> <span><span><span><li</span>></span>Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Hello<span><span></li</span>></span>
</span> <span><span><span></ul</span>></span>
</span><span><span><span></div</span>></span></span>
>
>那里有很多事情要做,但是我敢肯定它看起来很熟悉 - 我们在本教程中介绍了所有这些。现在,我们只需要在循环中使用Mixin:
检查评分,然后决定是向下表现大拇指还是向下表现大拇指。
>遍历电影列表,并使用Mixin每部电影创建一张卡片。- var x = 5;
div
ul
- for (var i=1; i<=x; i++) {
li= i + ". Hello"
- }
<span><span><span><div</span>></span>
</span> <span><span><span><ul</span>></span>
</span> <span><span><span><li</span>></span>1. Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>2. Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>3. Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>4. Hello<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>5. Hello<span><span></li</span>></span>
</span> <span><span><span></ul</span>></span>
</span><span><span><span></div</span>></span></span>
- var droids = ["R2D2", "C3PO", "BB8"];
div
h1 Famous Droids from Star Wars
for name in droids
div.card
h2= name
<span><span><span><div</span>></span>
</span> <span><span><span><h1</span>></span>Famous Droids from Star Wars<span><span></h1</span>></span>
</span> <span><span><span><div</span> class<span>="card"</span>></span>
</span> <span><span><span><h2</span>></span>R2D2<span><span></h2</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="card"</span>></span>
</span> <span><span><span><h2</span>></span>C3PO<span><span></h2</span>></span>
</span> <span><span><span></div</span>></span>
</span> <span><span><span><div</span> class<span>="card"</span>></span>
</span> <span><span><span><h2</span>></span>BB8<span><span></h2</span>></span>
</span> <span><span><span></div</span>></span>
</span><span><span><span></div</span>></span></span>
结论- var profileName = "Danny Ocean";
div
p Hi there, #{profileName}. How are you doing?
>
关于初学者Jade教程的经常询问的问题(常见问题解答)
什么是玉,为什么在网络开发中很重要?
也称为帕格,是一种高性能模板引擎,受HAML的影响很大,并用node.js和浏览器的JavaScript实施。它提供了一种干净,优雅的语法,允许开发人员以更简洁的方式编写HTML模板。 Jade在Web开发中很重要,因为它减少了编写HTML代码所花费的时间,从而使开发过程更加有效。它还支持动态代码,这意味着您可以在渲染html时包含评估的变量和表达式。>如何安装jade?
安装Jade,您需要具有节点。 JS和NPM(节点软件包管理器)安装在您的计算机上。一旦拥有这些,您可以通过在终端或命令提示符中运行命令NPM安装Jade -G来在系统上安装Jade。这将允许您使用计算机上任何目录中的JADE。
>可以手动完成将html转换为jade或使用html2jade.org等在线工具。 。要手动做到这一点,您需要了解玉器语法以及它如何映射到HTML。例如,HTML标签成为Jade元素,HTML属性成为Jade属性,等等。在线工具可以自动化此过程,但是了解基本的转换规则仍然很重要。
>>
>> jade和html之间的主要区别在于他们的主要区别。句法。 Jade使用凹痕代表嵌套元素,不需要关闭标签,这比HTML更简洁。但是,HTML的使用和理解更广泛,有些开发人员发现其明确的关闭标签和缺乏压痕规则易于阅读和理解。 home
在html中。>我可以在玉模板中使用javascript吗?将其包括在玉中?使用包含关键字。例如,包括标头将在模板中的该点包含标题文件的内容。
。我如何用//添加玉中中的评论
>如何使用类似于HTML的标签对Jade中的文本格式化?例如,p这是一些文本会呈现为
以上是初学者的玉教程的详细内容。更多信息请关注PHP中文网其他相关文章!