๋ฌธ์ œ ํ•ด๊ฒฐ ๐Ÿ›  โ€“ vue

joyfulwaveยท2023๋…„ 5์›” 18์ผ
0

๋‚˜๋งŒ์˜ ์‚ฌ์ „ - VUE

๋ชฉ๋ก ๋ณด๊ธฐ
6/6
post-thumbnail

๐Ÿ”’ ๋ฌธ์ œ ์ƒํ™ฉ

  1. ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋– ํ•œ ์‹ ์ฒญ์„ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.
  2. ์‹ ์ฒญ ํŽ˜์ด์ง€์— ๋“ค์–ด๊ฐ„๋‹ค.
  3. ์‹ ์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ๋ชฉ๋ก์€ 5๊ฐœ๊ฐ€ ์žˆ๋‹ค.(A/B/C/D/E)
  4. B๋ฅผ ํด๋ฆญํ•˜์—ฌ B์˜ ์ƒ์„ธ ์‹ ์ฒญ ํŽ˜์ด์ง€๋กœ ์ ‘์†ํ•œ๋‹ค.
  5. ์‹ ์ฒญ์€ ๋กœ๊ทธ์ธ ํ›„์— ๊ฐ€๋Šฅํ•˜๋‹ค.
  6. [๋กœ๊ทธ์ธ ํ•˜๊ณ  ์‹ ์ฒญํ•˜๊ธฐ] ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.
  7. ๋กœ๊ทธ์ธ ๋ชจ๋‹ฌ์ฐฝ์ด ๋œฌ๋‹ค.
  8. ๋กœ๊ทธ์ธ์„ ์™„๋ฃŒํ•œ๋‹ค.
  9. ํŽ˜์ด์ง€๊ฐ€ ์ƒˆ๋กœ๊ณ ์นจ์ด ๋œ๋‹ค. (๋ฐ์ดํ„ฐ ๋ฐ˜์˜)
    โ€ป 10. B์˜ ์ƒ์„ธ ์‹ ์ฒญ ํŽ˜์ด์ง€๋กœ ๋‹ค์‹œ ๋Œ์•„๊ฐ€์ง€๊ณ  ์ดํ›„์˜ ์‹ ์ฒญ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ ๋‚ด๊ฐ€ ํ•ด๊ฒฐํ•˜๊ณ  ์‹ถ์—ˆ๋˜๊ฑด ์ƒˆ๋กœ๊ณ ์นจ์ด ๋˜๋ฉด์„œ ๋ชจ๋‹ฌ์ฐฝ์ด ๊บผ์ง€๊ณ  ๊ธฐ๋ณธ ์‹ ์ฒญ ํŽ˜์ด์ง€๋กœ ๋Œ์•„๊ฐ€์ง€๋Š” ์ƒํ™ฉ์ด์˜€๋‹ค. ๋งŒ์•ฝ ์‹ ์ฒญ ๊ฐ€๋Šฅ ๋ชฉ๋ก์ด 5๊ฐœ๊ฐ€ ์•„๋‹Œ 1000๊ฐœ, 10000๊ฐœ ์˜€๋‹ค๋ฉด ์‚ฌ์šฉ์ž๋Š” ๋‹ค์‹œ ์›ํ•˜๋Š” ์‹ ์ฒญ ํŽ˜์ด์ง€๋ฅผ ์ฐพ์•„ ๋“ค์–ด๊ฐ€๋Š”๊ฒŒ ๋ฒˆ๊ฑฐ๋กœ์šธ ๊ฒƒ์ด๋‹ค. ์•„๋งˆ.. ๋” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ๊ฒ ์ง€๋งŒ.. ๋‚œ ์•„๋ž˜์™€ ๊ฐ™์ด ํ•ด๊ฒฐํ•ด๋ดค๋‹ค.

๐Ÿ”‘ ๋ฌธ์ œ ํ•ด๊ฒฐ

  1. B์˜ ์ƒ์„ธ ํŽ˜์ด์ง€์—์„œ ๋กœ๊ทธ์ธ ํ•˜๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด B์˜ ๊ณ ์œ  id ๊ฐ’์„ localStorage์— ์ €์žฅํ•œ๋‹ค.
	localStorage.setItem("id", b)
  1. ๋กœ๊ทธ์ธ์ด ์™„๋ฃŒ๋˜๋ฉด ์ƒˆ๋กœ๊ณ ์นจ์„ ํ•œ๋‹ค.
	this.$router.go()
  1. ์‹ ์ฒญ ํŽ˜์ด์ง€๋กœ ๋Œ์•„์™€์ง€๋ฉด created ๋‹จ๊ณ„์—์„œ localStorage์— id ๊ฐ’์ด ์žˆ๋Š”์ง€ ํŒ๋ณ„ํ•œ๋‹ค.
    3-1. id ๊ฐ’์ด ์—†์„ ๋•Œ : ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค
    3-2. id ๊ฐ’์ด ์žˆ์„ ๋•Œ : ์‹ ์ฒญ ์ƒ์„ธ ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.
  export default {
    created(){
      if(localStorage.getItem("id")){
          this.showDetail(localStorage.getItem("id")) // id ๊ฐ’์œผ๋กœ ์ƒ์„ธํŽ˜์ด์ง€๋ฅผ ๋„์šฐ๋Š” method
      }
    }
  }
  1. 3.์˜ ๋กœ์ง์—์„œ ์‹ ์ฒญ์ด ๋๋‚ฌ๋‹ค๊ฑฐ๋‚˜, ๋‹ค๋ฅธ ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•˜๋Š” ๋“ฑ์˜ ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด localStorage์—์„œ id ๊ฐ’์„ ์ง€์šด๋‹ค. (๋ถˆํ•„์š”ํ•œ ์ƒํ™ฉ์—์„œ ์‹ ์ฒญ ์ƒ์„ธ ํŽ˜์ด์ง€๊ฐ€ ๋œจ์ง€ ์•Š๊ฒŒ ํ•˜๊ธฐ์œ„ํ•จ)
export default {
  created() {
    if(localStorage.getItem("id")){
		this.showDetail(localStorage.getItem("id")) // id ๊ฐ’์œผ๋กœ ์ƒ์„ธํŽ˜์ด์ง€๋ฅผ ๋„์šฐ๋Š” method
	}
  },
  methods: {
    handlePopstate(event) {
      localStorage.removeItem("id")
    }
  }
}

๐Ÿ“Œ ๋ฐฐ์šด์ 

created, mounted ๋“ฑ vue ์ƒ์„ฑ ์ฃผ๊ธฐ์— ๋”ฐ๋ผ ์ž˜ ํ™œ์šฉํ•ด๋ณด์ž!

0๊ฐœ์˜ ๋Œ“๊ธ€