logo
Search검색어를 포함하는 게시물들이 최신순으로 표시됩니다.
    Table of Contents
    [SSAFY Project] AMU 프로젝트간 학습 내용

    이미지 보기

    [SSAFY Project] AMU 프로젝트간 학습 내용

    SSAFY 7기 1학기 관통 프로젝트 페어프로그래밍 기록

    • 22.06.02 작성

    • 읽는 데 4

    TOC

    AMU 프로젝트 게시물 목록


    I LEARNED

    Vue의 self 수정자

    • Vue의 이벤트에서 .self 수정자를 추가하면 자식 컴포넌트를 제외한 그 자신만 확인하는 것. Event Bubbling(자식이 한 일을 부모가 아는 것)을 억제하는 역할
    • Vue 이벤트리스너 여러 함수 사용하는 방법
      • @submit.prevent=”[funcA(), funcB()]” 로 array 형식으로 넣어주면 된다.
      • 기존 이벤트리스너 콜백함수와 달리 함수형으로 괄호를 붙여주어야 한다.

    Vue view 재호출

    • navigationDuplicated 에러 없이 router에서 자기 경로를 재호출하는 방법
    this.$router.go(this.$router.currentRoute);
    

    SCSS calc 내부에서 변수 사용하기

    @mixin flex-line ($grow:1, $ju-co:center) {
      display: flex;
      flex-basis: calc(1000px * #{$grow});
      justify-content: $ju-co;
      flex-grow: $grow;
    }
    
    • 위처럼 calc 내부에 변수로 사친연산 등의 계산을 해야할 때 사용
    • #{변수} 형식으로 자바스크립트에서 ${변수} 처럼 사용하는 것과 같다.

    사진이 1대1이 아니어도 중앙으로 배치되게 하는 방법

    • 프로필로 저장되는 사진이 1대1이 아니어도 주변을 잘라 div 크기에 맞게 배치하는 방법
    .fill {
      width: 300px;
      height: 300px;
      
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: hidden
    }
    .fill img {
      flex-shrink: 0;
      min-width: 100%;
      min-height: 100%
    }
    
    <div class="fill">
      <img src="https://picsum.photos/id/237/320/240" alt="" />
    </div>
    

    CSS 비율 고정

    #user-profile-image {
      width: 30%;
      aspect-ratio: 1 / 1;
      ...
    }
    

    div에 이미지 넣는 방법

    img src를 computed에서 계산해 객체에 넣고, 이를 style에 그대로 바인딩하는 방법이다.

    image

    위와 같이 프로필 사진을 넣어보자.

    <div
      id="user-profile-image"
      :style="profileImageSrc"
    >
    

    id를 다음과 같이 지정하고, style을 바인딩해주었다.


    // ArticleDetailView.vue computed
    
    profileImageSrc() {
      const profile_image = this.articleInfo.user.profile.profile_image
      return {
        'background-image': `url("http://localhost:8000${profile_image}"),
        'background-size': 'cover'
      }
    }
    

    자료구조 내에 path가 있는 위치까지 내려간다.

    이는 상당히 복잡한 구조이므로 상수에 임시 저장한 뒤, url에 넣을 때 처리해주어 넣어준다.


    #user-profile-image {
      width: 2em;
      height: 2em;
      border-radius: 50%;
    }
    

    div 태그의 크기와 border 설정을 해준다.

    profile

    FE Developer 박승훈

    노력하는 자는 즐기는 자를 이길 수 없다