Jade模板引擎无法将<p>标记添加到div内部</p>

时间:2013-12-03 21:02:54

标签: javascript html node.js pug

无法在div内部添加“p”标签。这是我的代码:

!!!
html
head
    title= title
    link(rel='stylesheet', href='/stylesheets/#{stylesheet}.css')
    link(rel='stylesheet', href='/stylesheets/bootstrap.min.css')
body
    .container
        .row
            .col-md-4
            .col-md-4
                .well
                - if (error)
                    p= error
                    form(role='form',action='sessions', method='post')
                        .form-group
                            label(for='Email') Eposta Adresi
                            input#Email.form-control(type='email',name='user[email]',placeholder='E-posta adresi')
                        .form-group
                            label(for='Password') Şifre
                            input#Password.form-control(type='password',name='user[password]', placeholder='Şifre')
                        button.btn.btn-default(type='submit') Giriş

    script(type='text/javascript', src='/javascripts/jquery-1.10.2.min.js')
    script(type='text/javascript', src='/javascripts/bootstrap.min.js')

它呈现出来:

<html>
<head>
<title>Giriş</title>
<link rel="stylesheet" href="/stylesheets/login.css">
<link rel="stylesheet" href="/stylesheets/bootstrap.min.css">
</head>
<body style="" cz-shortcut-listen="true">
<div class="container">
    <div class="row">
        <div class="col-md-4"></div>
        <div class="col-md-4">
            <div class="well"></div>
        </div>
    </div>
</div>
<script type="text/javascript" src="/javascripts/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="/javascripts/bootstrap.min.js"></script>
</body>
</html>

这是在我添加:

之后发生的
- if (error)
  p= error

1 个答案:

答案 0 :(得分:4)

所以你希望if语句直接构建到jade中,而不是javascript代码块(没有前导破折号)

.well
  if error
    p= error
  form
    .form-group.....etc

您可能还希望减少form标记上的缩进以及下面的所有内容我认为会降低1级,但这取决于出现错误时您想要的行为。