这样做时:
div(id=player)
ul.timeline
{{#epochs}}
li.epoch {{epoch}}
{{/epochs}}
用hogan
渲染它html = ss.tmpl['board'].render({ //ss is for socketstream, it uses hogan.
epochs: treeStructure,
player: "player2"
});
我收到以下错误
! Errror formatting Jade template
/Users/ilyadorman/dev/game/client/templates/board.jade:2
1| div(id=player)
> 2| ul.timeline
3| {{#epochs}}
4| li.epoch {{epoch}}
5| {{/epochs}}
player is not defined
但是当我做{{player}}
时它工作正常!我错过了什么?
答案 0 :(得分:0)
如上所述,player
未在您尝试使用它的上下文中定义。
您可以在player
周围放置单引号或双引号,然后将其定义为原始字符串。
赞div(id='player')
。
如果这就是你想要的。如果你想用变量动态改变div的id,你应该使用double curlies来传入它。
这些是不同的程序化上下文。您可以在Jade模板中定义变量并对它们执行操作,但这些变量与在中传递的变量不同,在Hogan / Mustache中称为变量。在这种情况下,您需要标签。
我从来没有尝试过这样的事情,但有些事情就是
div(id='{{player}}')
应该有用。