【问题标题】:Jade: add two include and mix themJade:添加两个包含并混合它们
【发布时间】:2016-06-08 15:38:58
【问题描述】:

我正在创建一个网络应用程序来组织活动,然后我想将其显示为网格和 div 列表。在我的代码中,我导入了两个玉文件,以便将它们用作 mixin。这是“主”玉:

include blockEventView
include gridEventView

-var events = user.createdEvents

.container#myEvents.hide
  .card
    .lv-header-alt.clearfix.m-b-5
      if(events != null)
        h2.lvh-label.hidden-xs #{events.length} Events
      else
        h2.lvh-label.hidden-xs 0 Events    
    mixin blockEventView(events)
    mixin gridEventView(events,"my-event-grid")

blockEventView.jade

mixin blockEventView(events)
  .card-body.card-padding
    if events != null
      .row
        each event in events
          .col-sm-4.col-xs-6
            .card.event(data-id = event._id)
              .card-header
                h2 #{event.title}
                  h2.text-rigth 
                    span #{events.length} 
                    if event.participants.length > 1
                      i.zmdi.zmdi-accounts.zmdi-hc-fw
                    else
                      i.zmdi.zmdi-account.zmdi-hc-fw    
                if event.creator 
                  small by #{event.creator}
                else 
                  small by anonimous 
              .card-body.card-padding
                if event.description 
                  p #{event.description}
                else
                  p no description avariable
    else
        h3 No Events

gridEventView.jade

 mixin gridEventView(events,id)
  .table-responsive
    table(id= #{id}).table.table-striped
      thead
        tr
          th(data-column-id='id', data-identifier="true",data-visible="false")
          th(data-column-id='title', data-identifier="false") title
          th(data-column-id="creator") By
          th(data-column-id="participants") Participants
      tbody

这是我从服务器得到的错误:

{ [SyntaxError: /Users/VeaVictis/Project/Organizator/app/views/myEvents.jade:2
    1| include blockEventView
  > 2| include gridEventView
    3|
    4| -var events = user.createdEvents
    5|

Unexpected token ILLEGAL]
  path: '/Users/VeaVictis/Project/Organizator/app/views/myEvents.jade' }

所以看来我不能包含两个玉文件。一旦我删除第二个“包含”,一切正常。我怎样才能实现我想要的功能?所以为了干净,我正在寻找一个包含我的两个文件并将它们用作mixin的视图。谢谢你

【问题讨论】:

  • gridEventView.jade 在开头似乎有缩进问题。你的原始文件是这样的吗?
  • 不,不是,我编辑了。谢谢
  • 在 gridEventView 中尝试 (id="#{id}") 而不是 (id= #{id})

标签: javascript node.js express pug


【解决方案1】:

为什么在包含之后定义 events 变量?试试这个看看会发生什么:

-var events = user.createdEvents
include blockEventView.jade
include gridEventView.jade

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多