찾다

 >  Q&A  >  본문

동적 이미지 그리드 생성: vue.js 사용 가이드

<p><pre class="brush:php;toolbar:false;"><템플릿> <q-page class="페이지 bg-brown-2 q-pa-lg"> <div v-for="x in 15" :key="x" class="line flex flex-center row"> <div v-for="y in 24" :key="y" class="pic"> <q-img :src="require('../assets/Pictures/' + getImageId(x,y) + '.png')"></q-img> </div> </div> </q-페이지> </템플릿> <스크립트> 기본값 내보내기({ 이름: 'BigPicturePage', 방법: { getImageId(행, 열) { picture_id = 359 - ((행 - 1) * 24) + (열 - 1) picture_id 반환 }, } }) <p>그래서 vue.js에서 동일한 크기의 작은 이미지 여러 개로 구성된 큰 이미지의 이미지 그리드를 생성하고 싶습니다. 먼저 v-for 루프를 사용하여 행을 반복하고 x 카운터를 사용하여 반복하면서 15개(전체 이미지는 15x24 이미지)를 생성합니다. 내부적으로는 또 다른 v-for를 사용하여 각 행의 24개 열을 채웁니다. URL에 y를 숫자로 지정하면 동일한 행이 15번 렌더링되지만 작동합니다. 간단한 함수 getImageId(행, 열)를 사용하려고 하면 아무것도 렌더링되지 않고 전체 웹 사이트가 비어 있습니다. 이미지 ID 계산은 0-359 카운트를 기반으로 하지만 사진의 올바른 배열을 얻기 위해 역 계산을 수행했습니다. 범위가 1에서 시작하고 각 행의 시작 인덱스를 얻기 위해 24를 곱했기 때문에 359에서 1을 뺀 행 수를 뺍니다. 그런 다음 현재 열 인덱스를 카운터에 추가하고 행마다 359에서 0으로 감소시킵니다. 문제는 vue 구문과 구조에 익숙하지 않기 때문에 사용하는 데 있다고 생각합니다. 어떤 도움이라도 환영합니다. </p>
P粉904191507P粉904191507457일 전542

모든 응답(1)나는 대답할 것이다

  • P粉340980243

    P粉3409802432023-09-01 11:46:56

    웹사이트가 존재하지 않는 ID가 360인 이미지를 로드하려고 한다는 것을 알게 되었고 제가 디자인한 전체 기능은 어떤 상황에서도 ID가 359를 초과하지 않도록 하는 것이므로 왜 그런지 모르겠습니다...

    기능을 그런 식으로 디자인하지 않으셨네요. 1과 2를 사용하면 그 결과를 얻을 수 있습니다 ... 359부터 0까지의 모든 이미지를 원한다면 그냥 가져와서 순서대로 표시하면 어떨까요?

    으아악

    회신하다
    0
  • 취소회신하다