쇼핑 앱 프로젝트첫 페이지 개발정리 하 다.

6665 단어 vue
1.1.디 렉 터 리 구조
  • network
  • components -> common/content
  • pages->경로 구분
  • common
  • assets
  • router
  • store

  • CSS 초기 화 와 전역 스타일 설정
  • initialize.css
  • base.css

  • axios 패키지
  • axios 인 스 턴 스 생 성
  • 차단 응답,.data 데이터 되 돌려 주기
  • 들 어 오 는 options 에 따라 요청 을 보 내 고 resolve 와 reject
  • 를 호출 합 니 다.
    우선 개발
    1.navbar 의 패키지 와 사용
  • 네 이 비 바 는 세 개의 슬롯 을 포함한다.left,center,right
  • navbar 관련 스타일 설정
  • navbar 를 사용 하여 첫 페이지 의 네 비게 이 션 표시 줄
  • 을 실현 합 니 다.
    2,첫 페이지 데이터 요청
  • 패 키 징 요청 홈 페이지 더 많은 데이터
  • 배 너 데 이 터 를 배 너 변수 에 넣 기
  • recommends 변수 에 추천 데 이 터 를 넣 습 니 다
  • home.js 에서 getHomeGoods(type,page)를 Home.vue 에 봉인 하고 methods 에서 getHomeGoods(type)를 호출 하여 getHomeGoods('pop')/getHomeGoods('new')/getHomeGoods('sell')page:동적 으로 대응 하 는 page 를 가 져 와 데 이 터 를 가 져 옵 니 다:res this.goods[type].list.push(..res.data.list)this.goods[type].page+=1
    goods: { pop: page1:/list[30] new: page1/list[30] sell: page1/list[30] }
    3,Swiper 패키지 에 따라 HomeSwiper
  • Swiper 와 Swiper Item 사용
  • 배 너 에 전송 하여 전시
  • 4,패키지 FeatureView
  • 독립 구성 요소 패키지 FeatureView
  • div>a>img


  • 5,패키지 RecommendView
  • 사진 한 장 을 보 여주 면 됩 니 다
  • 6,봉인 tabControl
  • 기본 구조의 포장
  • 감청 클릭
  • props->titles div>titles v-for 에 따라 div->span{title}}어느 tab,어느 tab 의 텍스트 색상 이 변 하 는 지 선택 하 십시오.아래 border-bottom currentIndex
  • tabControl 의 offset Top 가 져 오기
    얼마나 굴 러 갈 때 흡수 효과 가 있 는 지 알 아야 합 니 다.이 럴 때 tabControl 의 offset Top 을 가 져 와 야 합 니 다.단,mounted 에서 tabControl 의 offset Top 을 직접 가 져 오 면 값 이 올 바 르 지 않 습 니 다.
  • 어떻게 정확 한 값 을 얻 었 습 니까?
  • HomeSwiper 에서 img 의 로 딩 이 완료 되 었 습 니 다.로 딩 이 완료 되면 이 벤트 를 보 내 고 Home.vue 에서 정확 한 값 을 가 져 옵 니 다.
  • HomeSwiper 가 여러 번 이 벤트 를 보 내지 않도록 isLoad 변 수 를 사용 하여 상태의 기록 을 할 수 있 습 니 다.
  • 주의:여 기 는 여러 번 호출 되 지 않 고 debounce 와 의 차이 점

  • 도청 스크롤,동적 으로 tabControl 의 스타일 을 바 꾸 는 문제:동적 으로 tabControl 의 스타일 을 바 꿀 때 두 가지 문제 가 발생 합 니 다.문제 1:아래 의 상품 내용 은 갑자기 위로 이동 합 니 다.문제 2:tabControl 은 fixed 를 설 치 했 지만 Better-Scroll 과 함께 굴 러 나 갔습니다.
  • 체류 문 제 를 해결 합 니 다.맨 위 에 Place Holder TabControl 구성 요소 대상 을 복사 하여 체류 효 과 를 실현 합 니 다.*사용자 가 일정한 위치 로 굴 렀 을 때 Place Holder TabControl 이 표 시 됩 니 다.*사용자 가 일정한 위치 에 굴 러 가지 않 았 을 때 Place Holder TabControl 은 숨 깁 니 다.
  • 7.상품 데이터 요청 및 저장
  • goodList 변 수 를 정의 하여 요청 한 상품 데 이 터 를 저장 합 니 다
  • type 과 page 에 따라 상품 데 이 터 를 요청 합 니 다
  • 상품 데이터 저장
  • 8,GoodsList 와 GoodsList Item 패키지
  • 전시 상품 목록,패키지 상품 목록
  • 리스트 에 있 는 모든 상품,봉 인 된 GoodsListItem
  • CSS 속성 설정 에 주의 하면 됩 니 다
  • 9,구 르 는 패키지 스크롤
  • better-scroll 설치
  • 스크롤 구성 요소 로 서 독립 된 구성 요 소 를 패키지 합 니 다:Scroll
  • 구성 요소 내 코드 의 패키지:
  • 1.Better Scroll 대상 을 만 들 고 DOM 과 옵션(probe Type,click,pullUpLoad)
  • 을 입력 합 니 다.
  • 2.scroll 사건 을 감청 하면 이 사건 은 position
  • 로 돌아 갑 니 다.
  • 3.pulling Up 사건 을 감청 하고 이 사건 을 감청 하여 더 많이 불 러 옵 니 다
  • 4.패키지 새로 고침 방법:this.scroll.refresh()
  • 5.스크롤 을 봉인 하 는 방법:this.scroll.scrollTo(x,y,time)
  • 6.패키지 리 셋 완료 방법:this.scroll.finished PullUp

  • 스크롤 문제(그림 불 러 오기)
    Better-Scroll 은 스크롤 할 수 있 는 영역 을 결정 할 때 scroller Height 속성 에 따라 결정 합 니 다.scroller Height 속성 은 Better-Scroll 을 넣 은 content 의 하위 구성 요소 높이 에 따라 결 정 됩 니 다.
  • 그러나 우리 의 홈 페이지 에서 처음에 scroller Height 속성 을 계산 할 때 그림 을 계산 하지 않 았 기 때문에 계산 한 알림 은 잘못된 것(1300+)
  • 입 니 다.
  • 나중에 그림 을 불 러 온 후에 새로운 높이 가 생 겼 지만 scroller Height 속성 은 업데이트 되 지 않 았 습 니 다.그래서 스크롤 에 문제 가 생 겼 습 니 다
  • 모든 그림 을 불 러 오 는 것 이 완료 되 었 는 지,한 장의 그림 만 불 러 오 면 refresh()를 한 번 실행 하면 어떻게 그림 을 불 러 오 는 것 이 완료 되 었 습 니까?*원생 js 감청 사진:img.onload=function(){}*Vue 에서 감청:@load='방법'스크롤 의 refresh()호출
    GoodsListItem.vue 의 이 벤트 를 Home.vue 에 전송 하 는 방법
    부자 구성 요소 가 아 닌 통신 과 관련 되 어 있 기 때문에 이벤트 버스*bus->버스*Vue.prototype.$bus=new Vue()*this.bus.emit('이벤트 이름',매개 변수)*this.bus.on('이벤트 이름',리 셋 함수(매개 변수)을 선 택 했 습 니 다.
    10,업 로드 더
  • 스크롤 감청 을 통 해 더 많이 불 러 옵 니 다.
  • 홈 에 더 많은 데 이 터 를 불 러 옵 니 다.
  • 요청 데이터 완료 후 finished PullUp
  • 이동
    11,귀환
  • BackTop 구성 요소 패키지
  • BackTop 구성 요 소 를 어떤 수치 로 표시 할 지 결정 하 는 상수 정의
  • 스크롤 을 감청 하여 BackTop 의 표시 와 숨 김 을 결정 합 니 다
  • * isShowBackTop: false
    *     ,        :
      *     -position.y > 1000         -> isShowBackTop: true
      * isShowBackTop = -position.y > 1000
    
  • BackTop 의 클릭 을 감청 하고 클릭 시 scrollTo 를 호출 하여 상단 으로 돌아 갑 니 다
  • *     back-top   ,         ?
      *    ,       .native
    *     
      * scroll  , scroll.scrollTo(x, y, time)
      * this.$refs.scroll.scrollTo(0, 0, 500)
    

    12,tabControl 의 체류
  • tabControl 구성 요 소 를 다시 추가 합 니 다(위치 설정 이 필요 합 니 다.그렇지 않 으 면 가 려 집 니 다)
  • updated 갈고리 에서 tabControl 의 offset Top
  • 가 져 오기
  • 새로 추 가 된 tabControl
  • 을 표시 할 지 여 부 를 결정 하기 위해 offsetTop 을 초과 할 지 여 부 를 판단 합 니 다.

    좋은 웹페이지 즐겨찾기