2014-06-29 3 views
0

Je suis assez nouveau sur node.js, donc cela pourrait potentiellement être une question de noob totale. En tous cas. J'ai découvert le projet mean.io. Dans l'article-article officiel sur Github, il y a la méthode suivante dans le contrôleur d'article.node.js - mean.io paramètres implicites/cachés

exports.update = function(req, res) { 
var article = req.article; 

article = _.extend(article, req.body); 

article.save(function(err) { 
    if (err) { 
     return res.jsonp(500, { 
      error: 'Cannot update the article' 
     }); 
    } 
    res.jsonp(article); 

}); 
}; 

Avec un route correspondant

module.exports = function(Articles, app, auth) { 

app.route('/articles') 
    .get(articles.all) 
    .post(auth.requiresLogin, articles.create); 
app.route('/articles/:articleId') 
    .get(articles.show) 
    .put(auth.requiresLogin, hasAuthorization, articles.update) 
    .delete(auth.requiresLogin, hasAuthorization, articles.destroy); 

// Finish with setting up the articleId param 
app.param('articleId', articles.article); 
}; 

Je suis confus. Quand et où la route passe-t-elle les paramètres req/res aux articles articles.update, ou à tout autre articles fonction? Y a-t-il un mécanisme caché dans le nœud/express/mean que j'ai raté? Merci d'avance.

+0

Oui, par défaut, lorsque vous transmettez une fonction en tant que rappel, elle reçoit des paramètres de la fonction appelante. Dans ce cas exprimez les poignées ce qui sera passé –

+0

Merci beaucoup. Je l'ai eu après la réponse de Subin. Eh bien, c'est un vieux callback simple traité par exprès. Que je suis bête :) – ShrimpPhaser

Répondre

1

app.route('/articles/:articleId') .get(articles.show);

Cela signifie express appellera procédé articles.show à la demande et de la réponse sous forme de deux premiers paramètres quand une demande GET est livré avec la trajectoire correspondant à .

Questions connexes