首页 > 解决方案 > 如何在节点应用程序中使用物化吐司

问题描述

我有一个节点/快速应用程序。在前端,我正在使用物化 css,当我的用户注销时,我想使用它的 toast 功能。

以下是我的注销路线的代码:

// logout user
router.get('/logout', (req, res) => {
    req.logout();
    req.flash('success_msg', 'You are logged out');
    res.redirect('/');
});

当我的用户注销时,我想使用以下内容:

 M.toast({html: 'I am a toast!'})

我有一个名为 _msg.handlebars 的部分,我在其中定义了由 server.js 中的全局变量捕获的错误和成功消息的部分:

{{#if success_msg}}
<div class="alert alert-success">{{success_msg}}</div>
{{/if}} {{#if error_msg}}
<div class="alert alert-danger">{{error_msg}}</div>
{{/if}} {{#if error}}
<div class="alert alert-danger">{{error}}</div>
{{/if}}

server.js 文件中的全局变量:

// Global variables
app.use(function (req, res, next) {
    res.locals.success_msg = req.flash('success_msg');
    res.locals.error_msg = req.flash('error_msg');
    res.locals.error = req.flash('error');
    res.locals.user = req.user || null;
    next();
});

因此,我想使用具体化 css toast,而不是显示文本或警报。

请指教!

标签: node.jsexpressmaterializeexpress-handlebars

解决方案


我修改了我的 _msg.handlebars 如下:

{{#if success_msg}}

<body onload="M.toast({html: '{{success_msg}}'})">

</body>
{{/if}} {{#if error_msg}}

<body onload="M.toast({html: '{{error_msg}}'})">

</body>
{{/if}} {{#if error}}

<body onload="M.toast({html: '{{error}}'})">

</body>
{{/if}}

到目前为止工作完美,但如果有更好的建议,请提出建议。


推荐阅读