Мне было интересно, что означают {блоги: блоги} в моем коде - PullRequest
0 голосов
/ 28 октября 2018
   app.get("/blogs", function(req, res){
   Blog.find({}, function(err, blogs){
       if(err){
           console.log("error!!!");
       }else{
           res.render("index", `{blogs: blogs}`);
       }
   });

Это мой код из буткэмпа веб-разработки, из colt steele

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

res.render ("index", {blogs: blogs});

Эта строка будет отображать шаблон представления.Здесь первые блоги относятся к названию свойства, которое будет использоваться в шаблоне, а вторые блоги - к ответу, полученному с сервера.

0 голосов
/ 28 октября 2018

Если это на самом деле, как вы показали, это просто буквальный текст {blogs: blogs}. Он находится в литерале шаблона без тегов (поэтому создается строка), и в этом литерале его нет в токене, поэтому это просто текст:

console.log(`{blogs: blogs}`); // "{blogs: blogs}"

Но , если бы это было:

res.render("index", {blogs: blogs});

(без обратных галочек), тогда это будет инициализатор объекта (часто называемый «литерал объекта»), который создает объект с единственным собственным свойством, называемым blogs, со значением из переменной blogs:

const blogs = "value of blogs";
const obj = {blogs: blogs};
console.log(obj.blogs); // "value of blogs"

Этот инициализатор создаст объект и передаст его render в качестве второго аргумента.

В современных средах (ES2015 +) вы можете написать его с краткой записью свойства: {blogs}.

...