Express,Jade和NodeJS:在页面之间导航

8

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

1个回答

16
这是我为你的问题所写的代码: 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分钟来写这篇帖子。

Luca


我实现了上述脚本,但是它在点击事件中没有调用move()函数,如何解决。 - 1'hafs
1
在某些 Mac 浏览器中,您需要在点击事件上返回 false。onclick="move(); return false;" - ipinyol
@ipinyol,你的评论解决了我超过6个小时的绝望...谢谢。 - Majid NK
res.render('layout', { title: 'Home' }); 和页面 page1.jade 之间有什么关系?我认为你可能弄错了。你应该写 page1 而不是 layout - Gunjan Patel
2
这真的是最干净的方法吗?为什么不直接使用HTML链接元素呢?而不是 button(onclick="move()") newPage >> a(href="/newpage")="New Page"。这样就不需要添加 move() 函数了。 - saawsann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接