我正在开发一个 Web 应用程序,它使用 ejs 和 riot.js 进行服务器/客户端渲染 html。我想问的是通过服务器的 ejs 将数据渲染到 riot.js。对于这个问题,我准备了一个在 html 上呈现用户信息的示例。
实际上我可以将数据传递给 html,但我无法相信我通过 ejs 的 javascript 呈现信息的方式。如果有更好的方法,请教我。
server.js(快递)
router.get('/login', function(req, res) {
var user = {};
if(req.user) {
user.email = req.user.local.email;
};
res.render('login', { user: user })
});
索引.ejs
使用 ejs 传递给 riot 的自定义标签。这种方式好不好?
<html>
<body>
<navbar></navbar>
<script>
riot.mount('navbar', { user: <%- JSON.stringify(user) %> });
</script>
</body>
</html>
导航栏标签
<navbar>
<div>user's email: { user.email} </div>
<script>
this.user = opts.user
</script>
</navbar>
环境
- node.js v5.3.0
- riot.js v2.3.12