1

我有以下layout.jade代码

!!!
html
    head
        title= title
        link(rel='stylesheet', href='/vendor/bootstrap.min.css')
        link(rel='stylesheet', href='/css/style.css')
        script(type='text/javascript')
            (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
            })();
    body!= body

登录后会出现以下页面:

div.navbar.navbar-fixed-top
    div.navbar-inner
        div.container-fluid
            ul#global-nav.nav.pull-left
                a(href='#').brand Control Panel
            button#btn-logout.btn.btn-primary
                i.icon-lock.icon-white
                | Sign Out

include account
include modals/alert
include modals/confirm

script(src='/js/views/home.js')
script(src='/js/controllers/homeController.js')

页面上的 divhome.jade正在创建一个标题以将控制面板标题放入其中,并提供一个退出帐户的选项。即使您没有登录,我也想将这些 div 放在主屏幕上。我只需将它们移动到 layout.jade 页面即可成功完成此操作。

我的问题是Control Panel出现在标题之外。因此,该home.jade页面不会layout.jade像我想象的那样简单地添加到我的页面正文中的代码中,关于如何做到这一点的任何想法?

IE

layout.jade
body
    div.header

home.jade
    p hello

我认为这种代码只会创建一个带有正文的主页

body
    div.header
        p hello

在标题里面。

理想情况下,我希望此伪代码到位,并且仅在登录时才显示注销文本,并且在您未登录时启用登录功能,因为最终我希望主登录容器位于中间从按钮中弹出。

4

1 回答 1

0

您需要查看翡翠块。这是关于这个主题的一个很好的教程,详尽而简短,以及关于这个问题的Jade Github 自述文件。

您将使用“包含”和“块”的组合来创建可以按照您想要的方式工作的文件的混合。请注意确保您对包含的文件结构和目录与您从中调用它们的文件保持警惕。

于 2012-11-24T06:23:29.157 回答