javascript - express.js +html 模板 生成和load之后能否根据传入的locals参数实现动态视图
迷茫
迷茫 2017-04-10 12:49:15
[JavaScript讨论组]

express.js render的模板里 配置如下

 app.configure(function () {   
app.set('view engine', 'html');   
app.set('views', path.join(__dirname, 'views'));   
app.register('.html', require('ejs'));   
app.use(express.bodyParser({
        uploadDir: config.upload_dir,
        keepExtensions: true,
        limit: 10000000, 
        defer: true  //enable event    }));

render的函数调用 res.render('topic/edit', {tags: tags, topic_type:'话题'});

想调用如下函数,显然需要load完成之后才能调用? 能否/应该如何在html模板中调用下列函数呢?

    function dynamicview()   
{
 if (!locals.topic_type ||locals.topic_type=='话题')
    {
  document.getElementById("needp").style.display="none";
 document.getElementById("maxnumber").style.display="compact";
document.getElementById('type_0').checked = true;
    }
    else if(locals.topic_type=='发送')
  {
..............
}
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
迷茫

你的模板是纯HTML?为什么不用模板引擎呢?在render阶段就把不必要显示的DOM节点过滤掉了,不需要再等到页面加载完毕之后再调用 js 来隐藏。

jadeejs之类的都可以在模板里面写简单的逻辑,当然就有条件判断了。拿jade举例吧:

if !topic_type || topic_type === '话题'
  p#maxnumber
  input(type="checkbox", checked)#type_0
else
  p#needp
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号