- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在开发 Jade 模板库时,使用 mixin 块作为属性值已变得可取,从而为最终用户简化语法。
最终用户可以选择 3 种创建按钮的方式;通过标签、按钮标签和输入标签。对于输入标签,我想使用块作为值属性,所以语法总是:
+abtn
| A Button
+btn
| Button
+ibtn
| I Button
+abtn(disabled)
| A Button Disabled
+btn(disabled)
| Button Disabled
+ibtn(disabled)
| I Button Disabled
mixin abtn
- attributes.href = attributes.href || '#'
- attributes.role = attributes.role || 'button'
- if (attributes.disabled) {
- attributes.class = (attributes.class === undefined) ? 'disabled' : attributes.class + ' disabled';
- attributes.disabled = null
- }
a.btn(attributes)
block
mixin btn
- attributes.type = attributes.type || 'button'
button.btn(attributes)
block
mixin ibtn
- attributes.class = (attributes.class === undefined) ? 'btn' : attributes.class + ' btn';
- attributes.type = attributes.type || 'button'
input(attributes=attributes)
+abtn
| A Button
+btn
| Button
+ibtn(value='I Button')
+abtn(disabled)
| A Button Disabled
+btn(disabled)
| Button Disabled
+ibtn(value='I Button Disabled', disabled)
+ibtn
| My button value
<input value="My button value">
最佳答案
嗯,这是一个语法问题。当您运行 mixin
时, 变成这样,因为括号可以给出参数。就是这样:
mixin myMixin (arg1, arg2)
p=arg1
p=arg2
+myMixin('Jade is Cool', 'Yeahh!')
<p>Jade is Cool</p>
<p>Yeahh!</p>
attributes
,变成如下:
mixin myMixin (arg1, arg2)
p( id=attributes.id )=arg1
p( class=attributes.class, value=attributes.value )=arg2
+myMixin('Jade is Cool', 'Yeahh!').myClass#MyId( value="Kool" )
<p id="MyId">Jade is Cool</p>
<p class="myClass" value="Kool">Yeahh!</p>
mixin
前导参数和运行第二个是属性
mixin
.在适用的情况下:
+abtn()
| A Button
+btn()
| Button
+ibtn()(value='I Button')
+abtn()(disabled)
| A Button Disabled
+btn()(disabled)
| Button Disabled
+ibtn()(value='I Button Disabled', disabled)
mixin
s 是 javascript 中的函数。
关于pug - 使用 Jade mixin block 作为属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19888490/
将对象从 app.js 传递给 Pug router.get('/', getMenuList, function (req, res, next) { res.render('menu_it
我们如何在 Jade/Pug 中跨多行写入长属性值? SVG 路径往往很长。我们希望将属性值写在多行上以提高可读性。例如,Mozilla 的 tutorial用 HTML 编写很容易阅读。 有什么方法
我很难找到一个好的解决方案。问题是我想要在我的导航项目上动态更新事件类,但是我不知道如何去做。任何人都可以帮助我解决自动为当前页面对应的导航项目提供某个类的解决方案吗? 这是我的 layout.pug
如果我想引用文字 !{a}在代码中。我该怎么办? - var a = '5' // I have to use the variable name "a" script. var str = "!
我正在尝试向 Jade 模板添加动态类。像这样: - var obj = {a: 1, b: 2, c: 3}; - var len = Object.keys(obj).length; .abc-#
如何在 Pug 模板引擎中阻止注释掉代码? 我知道如何注释掉一行: //-doesn't show 但我不想像这样写完整的 html 评论: 最佳答案 //- Just indent the
我想要这样的东西: html head style(type="text/css") table { width: 100% } body
我正在 keystone 中使用哈巴狗,在添加侧面导航时出现这样的错误。 > 6| a(href="#")About --------------------^ 7| a(href="#")Servi
这是我要完成的事情的简化版本: mixin foo(bar) = bar + ".html" a(href= +foo("baz")) test 我想将 anchor 标记编译为 test ,
Jade 不再被称为“ Jade ”。它现在被称为“帕格”。为了将旧的 jade 项目转换为新的 pug 格式,您需要将所有旧的 .jade 文件重命名为 .pug 文件。 手工制作既痛苦又乏味,肯定
我已经安装 https://github.com/pug-php/pug使用 composer,现在我的项目中有一个子目录 vendor/pug-php/pug,但我不知道如何使用它。 如果我尝试 $
我正在尝试编写一个简单的应用程序,例如待办事项列表,当我按下按钮时,我需要动态创建(在div中使用增量id),并向HTML输入输入一些文本。例如: 问题是,当我尝试获取 var data 时,
是否可以在父 pug 文件中为 includeed pug 文件传递参数。例如,如果我有一个子模板 example.pug: p #{name}'s Pug source code! 还有一个父级
我需要在 pug 文件中插入一个包含一些 pug 格式代码的字符串。 我测试过的内容: - var text = "i.home.icon" div= text div !{text} div #{t
我有以下代码(Chart.js 片段): datasets: [{ label: 'Hashes/s', data: numbe
我有一个带有数组的 pug 模板,我想将其传递给用于填充某些 schema.org (json) 标记的 mixin。 代码如下: 配置文件.pug include ../components/bio
我正在尝试从服务器加载数据到我的哈巴狗模板中。 我的路线如下所示: app.get('/serverdata', async(req, res) => { const chartData = []
我正在使用 Node.js、Express 和 Pug 创建一个简单的 Web 服务器。 包.json: { "name": "testing", "version": "0.0.7",
我的 src/ 目录如下: src/ ---about/ ------history.pug ------mission.pug ---contact/ ------email.pug ---inde
我在 Symfony 2.8 中安装 pug-php/pug-symfony 时遇到问题。我从全新的 symfony 安装开始并执行 composer require pug-php/pug-symf
我是一名优秀的程序员,十分优秀!