【问题标题】:Partial template in Jade/Pug with dynamic dataJade/Pug 中带有动态数据的部分模板
【发布时间】:2016-12-01 23:46:56
【问题描述】:

我正在尝试使用 2 个块创建视图。每个块都有不同的实时数据源。当我在主视图中使用 Jade 的包含时,:

extends ../layout

block content
 link(rel='stylesheet', type='text/css', href='/stylesheets/people.css')
 include ../store/peopleTemplate.pug

我收到错误

Cannot read property 'people' of undefined.

原因是数据仍在加载中。如果排除该包含,而是在恢复数据的函数中使用

res.render(template, {  data:localData });

模板未添加到视图中。

如何将 2 个或更多包含来自不同来源的动态数据的部分视图添加到 1 个视图?谢谢

【问题讨论】:

    标签: javascript node.js pug partials


    【解决方案1】:

    您可以使用 mixins 来实现这一点。

    layout.pug

    doctype html
    html
      head
        ...
      body
        block content
    

    pets-partial.pug

    mixin petslist(pets)
      ul
        each pet in pets
          li #{pet}
    

    pets.pug

    extends layout
    
    include pets-partial
    
    block content
      h1 Dogs
      +petslist(dogs)
    
      h1 Cats
      +petslist(cats)
    

    https://pugjs.org/language/mixins.html

    jade 中的语法与哈巴狗 2 中的语法略有不同。

    【讨论】:

      【解决方案2】:

      经过广泛研究,Pug/Jade 模板引擎不支持动态模板渲染或在一个视图中使用多个部分。建议在这种情况下使用把手。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-20
        • 2018-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-26
        • 1970-01-01
        • 2012-11-15
        相关资源
        最近更新 更多