2021. 2. 18. 15:47ㆍProjects/유튜브 클론코딩
2.17 Template Variables in Pug
locals를 이용해 전역 범위에 변수를 추가하는 방법을 배웠다.
한 템플릿에만 변수를 추가하려면 어떻게 해야 할까? 템플릿마다 다른 정보를 가질 수도 있을 테니까.
어떤 템플릿에는 비디오, 다른 템플릿에는 사용자, 이렇게 다를 수 있다.
(siteName의 경우, 어떤 페이지는 join, login,users,videos 이런식으로 이름이 달라질 것이다.)
doctype html
html
head
link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.15.2/css/all.css", integrity="sha384-vSIIfh2YWi9wW0r9iZe7RJPrKwp6bG+s9QZMoITbCckVJqGCCRhc+ccxNcdpHuYu", crossorigin="anonymous")
title #{pageTitle} | #{siteName}
body
include ../partials/header
main
block content
include ../partials/footer
이 부분에 pageTitle 변수가 들어오게 하고 싶다.
이제 추가해 보겠다. videoController에서 한 화면에만 변수를 추가할 것이다.
render 함수의 첫번째 인자는 템플릿이고, 두번째 인자는 템플릿에 추가할 정보가 담긴 객체이다.
export const home = (req, res) => res.render("home", {pageTitle: "Home"});
이렇게 담으면 된다.
확인해보면, 잘 작동하는 것을 볼 수 있다. 나머지에도 똑같이 해준다.
'Projects > 유튜브 클론코딩' 카테고리의 다른 글
[유튜브 클론코딩] 2.19 Join : Log In HTML (0) | 2021.02.22 |
---|---|
[유튜브 클론코딩] 2.18 Search Controller (0) | 2021.02.22 |
[유튜브 클론코딩] 2.16 Local Variables in Pug (local 변수를 global 변수로 사용하도록 해주는 미들웨어 만들기 (0) | 2021.02.17 |
[유튜브 클론코딩] 2.15 Partials with Pug (pug의 일부분을 만들어서 include 하기) (0) | 2021.02.17 |
[유튜브 클론코딩] 2.14 Layouts with Pug (0) | 2021.02.17 |