IT Study./VF

9. Vue와 Firebase로 나만의 사이트 만들기 - appbar 만들기

impnem 2022. 5. 5. 21:36

 

 

 

VF - 9강

 

 

 


  • 이전 강에서 vuetify이 설치를 완료하였고 이제부터 하나씩 만들어갈 예정이다.
  • SPA에서 중요한 것은 부모 component 격인 App.vue 파일이 중요하다.
  • 보통 SPA에서는 상단바를 제외한 나머지 부분이 라우터로 페이지가 변하게 된다.
  • 더욱 상세히 말하면 상단바 좌측이나 우측에는 메뉴 드롭을 하는 navigation drawer가 있고, navigation drawer가 페이지들을 각각 링크하고 있으며, 링크한 것을 클릭하면 뷰 라우터를 통해 화면이 라우터 되는 영역에 뿌려지게 된다. 그리고 상단바에는 검색이나 상태 유무 같은 기능이 들어가기도 한다.
  • 그래서 맨 처음 해야할 것은 Appbar를 만들기 위해 App.vue를 수정해야 한다.

 

  • 디자인 적으로 보았을 때 Material Design의 한계이기도 한 단점은 누가 만들더라도 비슷비슷하다는 것이다.
  • 뭔가 획기적으로 바꾸고 싶다면 CSS적으로 수정을 많이 하거나 vuetify를 쓰지 않고 다른 것을 해야 한다.
  • 그래도 vuetify는 Material Design으로 훌륭하기 때문에 제일 낫다.

 

  • 그리고 UI components가 있는데 그중 bars에서는 App bars, Toolbars, System bars가 있다.
    • App bars는 우리가 흔히 앱에서 보는 모양이며, 웹에서도 모양은 비슷하다. 원래는 없었으나 vuetify 2.0 되면서 App bars라는 개념이 생겼다.
    • Toolbars는 App bars와 비슷하나 보통 상단 아래에 위치한다.
    • System bars는 핸드폰 상단바와 비슷하게 시계나 배터리, 통신감도 상태 등을 나타낸다.

 

  • vuetify 사이트에는 여러 예시에 대한 App bars의 기본 코드를 제공하지만 처음 하는 것만큼 App.vue의 내용을 모두 지우고 하나씩 차근차근 작성할 예정이다.
<v-app-bar app color="primary" dark> </v-app-bar>
  • <v-app-bar>라는 태그에 app이라는 propertys가 항상 있어야 하며 app이 없으면 어디에 달라붙어야 하는지를 모르게 된다.
<v-app-bar-nav-icon></v-app-bar-nav-icon>
  • <v-app-bar-nav-icon> 태그는 석 삼자(三) 메뉴 버튼을 말하며 기본적으로 사용된다.
<v-toolbar-title>Page title</v-toolbar-title>
  • <v-toolbar-title> 태그는 App bars의 타이틀을 추가할 때 사용된다.
<v-btn icon>
  <v-icon>mdi-magnify</v-icon>
</v-btn>
  • 돋보기 버튼을 추가하려면 위의 코드를 추가한다.
  • 이대로 추가하면 타이틀 바로 오른쪽에 붙기 때문에 오른쪽 끝으로 보내기 위해서는 <v-spacer> 태그를 사용한다.
<v-spacer></v-spacer>
  • 페이지 테스트를 하기 위해 돋보기 버튼을 클릭하면 '/about' 페이지로 가게끔 설정하려면 <v-btn>에 to 속성을 추가한다.
<v-btn icon to="/about">
  <v-icon>mdi-magnify</v-icon>
</v-btn>

<!-- 테스트를 위하여 하나더 추가 -->
<v-btn icon to="/">
  <v-icon>mdi-magnify</v-icon>
</v-btn>
  • 그리고 만약 내용이 보이지 않는다면 화면을 뿌려주는 <router-view> 태그를 아래에 추가한다.
<router-view></router-view>
  • 이처럼 바뀌는 부분에 대해서는 <router-view>태그가 해결해준다.
  • 여기서 중요한 건 <router-view>를 하나로 써버리면 App bars 아래에 모든 공간이 <router-view> 태그가 차지하기 때문에 contents 영역에 대한 정의를 하기 위하여 예전에는 <v-content> 태그로 감싸주었지만 이제 사용되지 않아 <v-main> 태그로 감싸준다.
<v-main>
  <router-view></router-view>
</v-main>
  • 지금까지 작성한 코드와 화면 결과는 아래와 같다.
<!-- App.vue -->
<template>
  <v-app>
    <v-app-bar
      app
      color="primary"
      dark
    >
    
      <v-app-bar-nav-icon></v-app-bar-nav-icon>

      <v-toolbar-title>Page title</v-toolbar-title>

      <v-spacer></v-spacer>

      <v-btn icon to="/about">
        <v-icon>mdi-magnify</v-icon>
      </v-btn>
      
      <v-btn icon to="/">
        <v-icon>mdi-magnify</v-icon>
      </v-btn>
      
    </v-app-bar>
    
    <v-main>
      <router-view></router-view>
    </v-main>
    
  </v-app>
</template>

<script>
export default {
  name: 'App'
}
</script>

 

  • 여기까지 App bars에 대한 간단한 설명을 하였다.

 

 

9 appbar 만들기 : memi

vuetify의 v-appbar를 사용해봅니다.\n- - -\n# 소스\n## App.vue\n```vue\n\n \n

memi.dev

 

 

 


해당 글은 [memi dev] 유튜브 채널을 토대로 공부한 내용을 기록하기 위하여 작성됨.