Vue

뷰티파이 Lorem Picsum으로 카드ul만들기

낮햇볕 2022. 3. 29. 10:53

카드형태 v-card

이미지 v-img

카드제목 v-card-title

카드내용 v-card-text

버튼공간  v-card-actions

 

로렘픽숨 웹사이트 임의의 이미지를 규격에 맞게표시;

로렘픽숨에서 이미지를 가지고오고싶다면

 

 

 

 

Lorem Picsum

 

Lorem Picsum

Lorem Ipsum... but for photos

picsum.photos

 

 

<v-img src="https://picsum.photos/id/193/400/300"></v-img>

<v-img src="https://picsum.photos/id/193/400/300"></v-img>

https://picsum.photos/ 는 로렘픽숨의 주소 id 다음/193은 #193되어져있는것을 들고온것이다

400/300은 이미지크기이다 가로세로

네모박스한것으르 id/#193

 

카드사용시 

Card component — Vuetify (vuetifyjs.com)

 

Card component

The v-card component is a versatile component that can be used for anything from a panel to a static image.

vuetifyjs.com

 

 

 

네모버튼누르기

템플릿이나 스크립트가 나오는데 템플릿을 전체를 복붙하면 위의 카드형식이나온다

스크립트는 data만 사용하면된다

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/@mdi/font@6.x/css/materialdesignicons.min.css" rel="stylesheet">
    <link href="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.min.css" rel="stylesheet">
      
         
    <script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/vuetify@2.x/dist/vuetify.js"></script>
    
    <title>Document</title>

</head>
<body>
  <div id="app">
      <v-app>
        <!-- //카드요소사용 -->
        <!-- loading:로딩값받아옴  mx:위아래마진넣음 max-width:최대크기너비지정-->
            <v-card
            
              :loading="loading"
              class="mx-auto my-12"
              max-width="374"
            >
            <!-- progress-linear 프로그래스 바 디자인 
                지우면프로그레스바없고 파란바가뜸 
            컴포넌트없지만 실행가능 템플릿슬롯으로 접근가능-->
            <!-- 슬롯이름 프로그레스인템플릿접근해서 안의내용을보여줌 -->
              <!--슬로사용  -->
            <template slot="progress">
                <v-progress-linear
                  color="deep-purple"
                  height="10"
                  indeterminate
                ></v-progress-linear>
              </template>
          <!-- 이미지 -->
              <v-img
                height="250"
                src="https://cdn.vuetifyjs.com/images/cards/cooking.png"
              ></v-img>
          <!-- 타이틀 -->
              <v-card-title>Cafe Badilico</v-card-title>
          
              <v-card-text>
                <v-row
                  align="center"
                  class="mx-0"
                >
                <!-- 레이팅 :value:벨류값넣어주면 그안값을 별모양으로바꿔줌 -->
                  <v-rating
                    :value="4.5"
                    color="amber"
                    dense
                    half-increments
                    readonly
                    size="14"
                  ></v-rating>
          
                  <!-- 위의별벨류값들을 적어줌 -->
                  <div class="grey--text ms-4">
                    4.5 (413)
                  </div>
                </v-row>
          <!-- 정보적어둠 섭타이틀로 -->
                <div class="my-4 text-subtitle-1">
                  $ • Italian, Cafe
                  <!-- 부산,카페 -->
                </div>
                <!-- 설명 -->
                <div>Small plates, salads & sandwiches - an intimate setting with 12 indoor seats plus patio seating.</div>
              </v-card-text>
        <!-- 선 -->
              <v-divider class="mx-4"></v-divider>
          <!-- 정보 예약가능시간 -->
              <v-card-title>
                  Tonight's availability</v-card-title>
          
              <v-card-text>
                  <!-- chipgoup 뭔지 -->
                  <!-- v-modle액티브클래스속성안에다 선택시디자인넣을수있게 -->
                <v-chip-group
                  v-model="selection"
                  active-class="deep-purple accent-4 white--text"
                  column
                >
                  <v-chip>5:30PM</v-chip>
          
                  <v-chip>7:30PM</v-chip>
          
                  <v-chip>8:00PM</v-chip>
          
                  <v-chip>9:00PM</v-chip>
                </v-chip-group>
              </v-card-text>
          <!-- 텍스트있는버튼 클릭시 reserve메소드실행되게 -->
              <v-card-actions>
                <v-btn
                  color="deep-purple lighten-2"
                  text
                  @click="reserve"
                >
                  Reserve
                </v-btn>
              </v-card-actions>
            </v-card>
          
      </v-app>
  </div>  

  <script>
      new Vue({
          el:"#app",
          vuetify : new Vuetify(),
          data: () => ({
      loading: false,//현재로딩거짓으로
      selection: 1, //셀렉션 처음1
    }),

    methods: {
      reserve () {//로딩을 트루로만들고 셋타임아웃사용해서 2초뒤 로딩 거짓으로 바꾸기 
                 //현재로딩상태 거짓 들어가있음 셀렉션선택했을때 처음1
        //로딩은 카드자체 로딩들어가있음 v-card안 :loading="loading" 처음거짓버튼누르면 트루로바뀜 트루되면 프로그래스바디자인보임 
        this.loading = true

        setTimeout(() => (this.loading = false), 2000)
      },
    },
      })
  </script>
</body>
</html>

위처럼 코드를 복붙하면 된다

템플릿사용은 컴포넌트사용할때 여서 적어져있는것임 데이터부분과 메소드부분을 복붙하면 로딩이뜬다

 

 

 

 

아래 처럼 화면상에 똑같은카드형식이나온다

 

 

Document
Cafe Badilico
4.5 (413)
$ • Italian, Cafe
Small plates, salads & sandwiches - an intimate setting with 12 indoor seats plus patio seating.
Tonight's availability 5:30PM 7:30PM 8:00PM 9:00PM Reserve