【问题标题】:How improve my if statements in a route [Node.js]如何改进路由中的 if 语句 [Node.js]
【发布时间】:2015-01-29 13:24:33
【问题描述】:
app.get('/dashboard/:page/:param',function(req, res) {
    var page = parseInt(req.param("page"));
    var param = req.param('param');

    data = {};
    data.page = page;

    if (!param) {
        data.nextPage = page + 1;
        data.prevPage = page - 1;

        MyModel.find().sort('brand').skip((page-1)*11).limit(11).exec(function(err, result) {
            res.render('index1', {
                data: data,
                result: result,
            });
        });
    } 
    else {
        data.nextPage = page + 1 + '/' + encodeURIComponent(param);
        data.prevPage = page - 1 + '/' + encodeURIComponent(param);

        MyModel.find({
               _id: param
            }).sort('brand').skip((page-1)*11).limit(11).exec(function(err, result) {
            res.render('index2', {
                data: data,
                result: result,
            });
        });
    }
});

我有这条路线,我正在使用它来渲染两个页面。

如果页面有参数,我想在我的数据库中找到 id 并渲染 de index2,如果没有,我只想渲染索引。

我的问题很简单:这是解决这个问题的好方法吗?还是我应该将 else 移到另一条路线??

我可以把它改得更干吗???

【问题讨论】:

  • 我会将else 移至另一条路线。 app.get('/dashboard/:page/:paramapp.get('/dashboard/:page/
  • 这是更好的解决方案吗?

标签: javascript jquery node.js express


【解决方案1】:

这对你来说看起来更干净吗?

app.get('/dashboard/:page/:param', function (req, res) {
  var page = parseInt(req.param("page"));
  var param = req.param('param');

  data = {
    page: page,
    nextPage: page + 1 + param ? '/' + encodeURIComponent(param) : null,
    prevPage: page - 1 + param ? '/' + encodeURIComponent(param) : null
  };

  MyModel.find(param ? {_id: param} : undefined)
    .sort('brand')
    .skip((page - 1) * 11)
    .limit(11)
    .exec(function (err, result) {
      res.render(param ? 'index2' : 'index1', {
        data: data,
        result: result
      });
    });
});

【讨论】:

  • 正在工作.. 但是.. 你能用普通的 javascript 重写以帮助我理解吗??
  • 你能解释一下普通的javascript是什么意思吗?
猜你喜欢
  • 1970-01-01
  • 2018-04-19
  • 2021-11-28
  • 1970-01-01
  • 1970-01-01
  • 2017-11-07
  • 1970-01-01
  • 1970-01-01
  • 2021-08-20
相关资源
最近更新 更多