λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ“š FrontEnd -Study/Vue

λ¦¬μŠ€νŠΈμ—μ„œ κ²€μƒ‰ν•œ ν•­λͺ© λ‹€μ‹œ λŒμ•„μ™€λ„ κ·ΈλŒ€λ‘œ μœ μ§€ν•˜κΈ°

by ChaeLOTUS 2024. 10. 29.
728x90

 

 

μ²˜μŒμ—λŠ” 이 뢀뢄을 λ†“μΉ˜κ³  λ‹¨μˆœνžˆ λͺ©λ‘ λ²„νŠΌμ΄λ‚˜ μˆ˜μ • λ²„νŠΌμ„ λˆ„λ₯΄λ©΄ router.back()으둜 λ™μž‘ν•˜κ²Œ ν•˜μ˜€λ‹€.

κ·ΈλŸ¬λ‹€λ³΄λ‹ˆ 이전에 λ¦¬μŠ€νŠΈμ—μ„œ λ§Œμ•½ 100νŽ˜μ΄μ§€λ₯Ό 보고 있으면 ν•΄λ‹Ή κΈ€ λˆ„λ₯΄κ³  λ‹€μ‹œ λŒμ•„μ˜€λ©΄ λ‹€μ‹œ 1νŽ˜μ΄μ§€λ‘œ λŒμ•„μ˜€λŠ”κ²ƒμ΄λ‹€. 

이게 데이터가 점점 λ§Žμ•„μ§€λ‹ˆ λ„ˆλ¬΄ λΆˆνŽΈν•˜λ‹€λŠ” 것을 κΉ¨λ‹¬μ•˜λ‹€.

 

κ·Έλž˜μ„œ λ¦¬μŠ€νŠΈμ—μ„œ μ•„μΉ΄μ΄λΈŒ λ””ν…ŒμΌ νŽ˜μ΄μ§€μ— λ“€μ–΄κ°ˆ 수 μžˆλŠ” λͺ¨λ“  κ²½λ‘œμ— route와 routerλ₯Ό μ‚¬μš©ν•˜μ—¬

ν•„μš”ν•œ 데이터λ₯Ό λ„˜κ²¨μ£Όκ³  λ°›μ•„μ„œ 그전에 봀던 νŽ˜μ΄μ§€μˆ˜μ™€ 검색어 등을 μœ μ§€ν•˜μ—¬ 이전에 봀던 λ¦¬μŠ€νŠΈμ™€ λ˜‘κ°™κ²Œ 뢈러올 수 μžˆκ²Œλ” μˆ˜μ •ν•˜μ˜€λ‹€.

 

μ—¬λŸ¬ νŽ˜μ΄μ§€λ₯Ό 많이 μˆ˜μ •ν•˜μ˜€λŠ”λ° κ·Έ 쀑 ν•˜λ‚˜μ˜ νŽ˜μ΄μ§€λ§Œ 예λ₯Ό λ“€μ–΄ 보겠닀.

μš°μ„  κ³΅κ°œκ΄€λ¦¬ νŽ˜μ΄μ§€μ—μ„œ κΌ­ λ„˜κ²¨μ€˜μ•Όν•  값듀은 μ•„λž˜μ™€ κ°™λ‹€.

prevPage(νŽ˜μ΄μ§€κ²½λ‘œ)

pageNum(νŽ˜μ΄μ§€ 번호)

open_yn(κ³΅κ°œμ—¬λΆ€)

keyword(검색어)

reg_organ(등둝기관)

kn_arch_id

 

μœ„μ™€ 같이 μ—¬λŸ¬ νŽ˜μ΄μ§€μ—μ„œ κΌ­ λ„˜κ²¨μ€˜μ•Όν•˜λŠ” νŽ˜μ΄μ§€λ“€μ„ λ””ν…ŒμΌ νŽ˜μ΄μ§€λ‘œ 보내고 λ‹€μ‹œ λ°›μ•„μ˜€κ³  μ΄λŸ°μ‹μœΌλ‘œ μ§„ν–‰ν•˜λ©΄ λœλ‹€.

 

 

κ³΅κ°œκ΄€λ¦¬ 리슀트 νŽ˜μ΄μ§€μ—μ„œ 데이터 링크 클릭할 λ•Œ μœ„μ˜ 데이터듀을 λ„˜κ²¨μ€€λ‹€.

const linkClick = async (arch_id: number, arch_type: string) => {
  if (arch_type.includes("KN")) {
    router.push({
      path: "../knowArch/knowDetail",
      query: {
        kn_arch_id: arch_id,
        pageNum: pageNum.value,
        open_yn: open_yn.value,
        keyword: keyword.value,
        reg_organ: reg_organ.value,
        prevPage: "knowArch/knowOpenList",
      },
    });
  } else {
    router.push({
      path: "../digit/digitDetail",
      query: {
        arch_id: arch_id,
        pageNum: pageNum.value,
        open_yn: open_yn.value,
        keyword: keyword.value,
        reg_organ: reg_organ.value,
        prevPage: "knowArch/knowOpenList",
      },
    });
  }
};

 

 

이후 λ””ν…ŒμΌ νŽ˜μ΄μ§€μ—μ„œ λͺ©λ‘ λ²„νŠΌμ„ 클릭할 λ•Œ λ™μž‘λ˜λŠ” ν•¨μˆ˜μ— μœ„μ—μ„œ λ„˜κ²¨λ°›μ€ 데이터듀이 링크에 쿼리둜 보일것이닀.

이것듀을 듀고와 λ‹€μ‹œ 리슀트둜 보낸닀.

 

// λͺ©λ‘λ²„νŠΌ 클릭
const moveToList = () => {
  const pageNum = route.query.pageNum;
  const prevPage = route.query.prevPage;
  const open_yn = route.query.open_yn;
  const keyword = route.query.keyword;
  const reg_organ = route.query.reg_organ;

  router.push({
    path: `/dev/archive/${prevPage}`,
    query: {
      pageNum,
      open_yn,
      keyword,
      reg_organ,
    },
  });
};

 

 

λ¦¬μŠ€νŠΈμ—μ„œλŠ” λ‹€μ‹œ 이것듀을 λ°›μ•„μ„œ κΈ°μ‘΄ 값듀에 λ§€ν•‘μ‹œμΌœμ€€λ‹€.

const init = () => {
  const query = router.currentRoute.value.query;
  pageNum.value = query.pageNum ? Number(query.pageNum) : 1;
  open_yn.value = query.open_yn ? String(query.open_yn) : "";
  keyword.value = query.keyword ? String(query.keyword) : "";
  reg_organ.value = query.reg_organ ? String(query.reg_organ) : "";
};

 

728x90

λŒ“κΈ€