[유튜브 클론코딩] 2.17 Template Variables in Pug

2021. 2. 18. 15:47Projects/유튜브 클론코딩

728x90
반응형

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"});

이렇게 담으면 된다.

 

 

확인해보면, 잘 작동하는 것을 볼 수 있다. 나머지에도 똑같이 해준다.

728x90
반응형