【问题标题】:Express, Jade, & NodeJS: Navigate between pagesExpress、Jade 和 NodeJS:在页面之间导航
【发布时间】:2015-05-09 15:07:15
【问题描述】:

如何创建一个包含两个按钮的 Jade 页面,每个按钮都重定向到另一个使用 Jade 制作的页面?

【问题讨论】:

    标签: javascript node.js express pug


    【解决方案1】:

    这是我为您的问题编写的代码:

    server.js

    var express = require('express');
    var path = require('path');
    
    var app = express(); 
    
    app.set('views', path.join(__dirname, 'views'));
    app.set('view engine', 'jade');
    
    app.get('/', function(req, res){
      res.render('layout', {
        title: 'Home'
      });
    });
    
    app.get('/newpage', function(req, res){
      res.render('anotherpage', {
        title: 'Home'
      });
    });
    app.listen(3000);
    

    page1.jade

    doctype html
    html
      head
        title= title
      body
        p hi there!
        button(onclick="move()") newPage
    script.
      function move() {
        window.location.href = '/newpage'
      }
    

    anotherpage.jade

    doctype html
    html
      head
        title= title
      body
        p welcome to the other page!
    

    享受吧,因为我花了 15 分钟才写完所有这些和帖子。

    卢卡

    【讨论】:

    • 我实现了上面的脚本,但是没有调用move()函数的onclick事件,如何解决。
    • 在某些 Mac 导航器中,您需要在点击时返回 false。 onclick="move(); 返回 false;"
    • @ipinyol 你的评论解决了我> 6小时的绝望......谢谢
    • res.render('layout', { title: 'Home' }); 和页面 page1.jade 之间有什么关系。我想可能是你在这里搞错了。你必须写page1 而不是layout
    • 这真的是最干净的方法吗?为什么不简单地使用 html 链接元素?而不是button(onclick="move()") newPage >> a(href="/newpage")="New Page"。这样就不用加move()函数了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多