当前位置: 首页 > 面试题库 >

基于已加载模板的CSS类

斜宁
2023-03-14
问题内容

我在_base.html模板中得到了这个引导导航,如下所示:

<ul class="nav navbar-nav">
   <li><a href="/" class="">Home</a></li>
   <li><a href="/blog/">Blog</a></li>
</ul>

使用Golang我想添加一个

class="active"

到相应的列表项。

我读过的HTML
/模板
文档和文章一样thisone,但在我看来,我必须写一个golang功能,增加了

class="active"

到每个对应的对应列表项。但是我仍然可以通过某种方式添加一些类似的内容

<ul>
    <li{{ if .template = "index.html" }} class="active"{{ end }}><a href="/">Home</a></li>
    <li{{ if .template = "blog.html" }} class="active"{{ end }}><a href="/blog/">Blog</a></li>
</ul>

或类似的东西。我记得Rob Pike说过Golang应该为您做所有计算,但是为什么在html / template-package中有一个“ if”语句?


问题答案:

我个人经常eq为这样的任务实现一个小助手:

var tmpl = template.Must(template.New("").Funcs(template.FuncMap{
    "eq": func(a, b interface{}) bool {
        return a == b
    },
}).ParseGlob("templates/*.html")

用法示例:

<li{{if eq .Active "index"}} class="active"{{end}}><a href="/">Home</a></li>

但是只能将其用于显示逻辑本身。将显示逻辑和实际计算区分开来是一个好习惯。



 类似资料:
  • 模板加载器 模板加载器是加载基于抽象模板路径下,比如 "index.ftl" 或 "products/catalog.ftl" 的原生文本数据对象。 这由具体的模板加载器对象来确定它们取得请求数据时使用了什么样的数据来源 (文件夹中的文件,数据等等)。当调用 cfg.getTemplate (这里的 cfg 就是 Configuration 实例)时, FreeMarker询问模板加载器是否已经为

  • 在我的应用程序中,所有freemarker模板都位于/templates/ftl/中,因此在应用程序部署期间,我加载了一个类,我调用了一个扩展FreemarkerManager并具有方法的类 这样,当我需要加载模板文件时,我可以这样做: 仅在一种特定情况下,我需要获得一个来自完全不同路径的模板(而不是/templates/ftl/)。 如何在这个特定的时刻声明模板加载的第二个目录,而不破坏所有调用

  • 了解如何在 Dreamweaver“设计”视图和“代码”视图中识别模板和基于模板的文档。 在“设计”视图中识别模板 在“设计”视图中,可编辑区域出现在“文档”窗口的矩形外框中。查看“文档”窗口中的底部窗格可看到区域的名称。 通过查看“文档”窗口中的标题栏,可以识别模板文件。文件的文件扩展名为 .dwt。在“设计”视图中识别模板 在“代码”视图中识别模板 在“代码”视图中,使用以下注释标记 HTML

  • 我正在构建我的第一个VueJs应用程序,我想异步加载我的模板。在我们的框架中,我们将模板存储在数据库中,这就是为什么。它一直在工作,直到我的模板中有一些嵌套的dom元素,而没有任何数据绑定到它为止。所以我的Vuejs就像: 这是工作时,我的模板是这样的: 但如果是这样的话: 我明白了 [Vue warn]:呈现中出错:“TypeError:无法读取未定义的”(在中找到)的属性“0” 但如果是这样的

  • 我已经创建了一个模板,并添加了两个角色signer1和Signer2。我正在创建信封,并使用这个模板在飞行中添加签名者。它工作得很好。在某些情况下,管理员用户不知道第二个签名者,只添加第一个签名者,信封是用单个签名者创建的。一旦信封被创建,现在我想在信封上添加第二个签名者。我使用C#docusign客户端,我尝试了

  • 问题内容: 我试图用BottlePy返回一个html模板。这很好。但是,如果我在tpl文件中插入这样的javascript文件: 我收到404错误。 (无法加载资源:服务器响应状态为404(未找到)) 有谁知道如何解决这个问题? 这是我的脚本文件: 那就是模板文件,位于“ ./views”子文件夹中。 也许是开发服务器在其中查找我的js文件的“ rootPath / js / main.js”?