在我的玉模板中添加一个导航栏

我正在使用nodejs,express和bootstrap。

所以这似乎是一个很普遍的问题,但我无法find我正在寻找什么地方。 我有一个layout.jade文件和一个index.jade文件,我在我的index.jade文件中使用我的布局。 问题是,我不能让我的导航栏显示…这是我的代码:

layout.jade

doctype html html head title= title block styles link(rel='stylesheet', href='/stylesheets/static/bootstrap.css') body block navBar div.container ul.col-md-12.row a(href="#") li.col-md-3.col-md-offset-1 Register a(href="#") li.col-md-3 Login a(href="#") li.col-md-3 About Chatbox block content 

index.jade

 extends layout block append styles link(rel='stylesheet', href='/stylesheets/homePage/style.css') block navBar block content div.box h1.col-md-4.col-md-offset-4 Chatbox 

我在这里不了解模板? 我认为无论是在块部分只是插入到页面中,并且由于块内容不在navBar内,我可以添加到像navBar下的内容。

唯一显示的是我放在我的index.jade文件块内容的东西。 我如何解决它?

当您在index.jade文件中编写extends layout ,这意味着layout.jade文件中的所有内容都将包含在内。

当您想要更改代码时,将使用块,具体取决于要渲染的文件。 在这种情况下,你说在layout.jade block navBar应该包含:

 div.container ul.col-md-12.row a(href="#") li.col-md-3.col-md-offset-1 Register a(href="#") li.col-md-3 Login a(href="#") li.col-md-3 About Chatbox 

然后在你的index.jade中,再次定义block navBar并覆盖layout.jade中的定义。 而且由于block navBar在你的block navBar中没有任何内容,所以没有任何东西正在呈现,你应该简单地从你的index.jade中删除block navBar声明。

 block navBar //nothing here means you are telling it to be empty. block content 

基本上这意味着如果你知道你要使用navbar的地方,只要你在你的layout.jade中声明它,并且在你所有的其他文件中使用extends layout ,那么你根本就不需要使用它。 只能使用代码块在页面间切换。

滚动到教程中的“Componente Navbar”。 这是西class牙文,但你只需要阅读代码。