【问题标题】:Render partial view with jade on select change在选择更改时使用翡翠渲染部分视图
【发布时间】:2013-02-13 00:57:32
【问题描述】:

我需要做以下事情,

我有一个<select>(团队名称列表),当用户选择一个团队时,我会得到相关信息re:该团队并显示它。

在jade中我如何做到这一点?

我正在尝试以下方法,(但显然我错了,我没有看到很多文档)。

简而言之,我在主页上写了一个include test.jade,还有一个res.render('test', {team: team_obj});

玉:

h1 #{team}.name
h2 #{team}.homeGround
h3 #{team}.manager
h4 #{team}.aka

nodejs:

collection.findOne(query, function(err, team_obj){
    res.render('test', {team: team_obj});
});

我在team_obj 中正确获取了信息。

运行应用时出现以下错误,

团队未定义

现在发生这种情况是因为 test.jade 在我输入 team_obj 之前已经被渲染。

问题:

1) 我这样做对吗? include 是部分渲染翡翠视图的正确方法吗?如果是,我如何确保它仅在用户选择 option 时呈现?

2) 玉中是否有我不知道的部分视图概念?

【问题讨论】:

    标签: node.js express pug


    【解决方案1】:

    1) 你应该使用#{team.name}

    2) 一旦选择器更改,您就无法更改团队对象。模板与数据库结果一起呈现一次。 - 此类功能应由客户端 JavaScript 和 AJAX 调用处理。模板中的部分只是共享模板的一种方式,它在 Jade 中通过 include 完成。

    我不知道你在渲染什么,包括什么,什么时候......但是如果你使用像 #{team.name} 这样的模板变量,你必须确保模板是用团队对象渲染的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 1970-01-01
      • 2014-08-08
      • 1970-01-01
      • 2016-01-28
      • 1970-01-01
      • 2016-08-04
      相关资源
      最近更新 更多