๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป ํ”„๋กœ์ ํŠธ/๐Ÿ ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€๐Ÿ 

[Vue.js] ๋ฒ„ํŠผ ๋กœ์ง์ด ์ œ๋Œ€๋กœ ๋™์ž‘์„ ์•ˆํ•˜๋Š” ๊ฒƒ ๊ฐ™์„ ๋•Œ, chunk-VZXQDS5F.js?v=5f04997f:2125 [Vue warn]: Data property "idDuplicate" is already defined in Methods.

by ._.sori 2025. 8. 20.

 

 

 

๋ฒ„ํŠผ์ด ๋™์ž‘ํ•˜์ง€ ์•Š์„ ๋•Œ,
์–ด๋–ค ์˜ค๋ฅ˜์ธ์ง€ ์ฐพ์•„๋ณด์ž!

 

 

 

 

1. ์ฝ”๋“œ์™€ ๋ฌธ์ œ ์‚ดํ”ผ๊ธฐ

<script> ์ฝ”๋“œ ์ค‘ method ์ผ๋ถ€

async idDuplicate() {
      try{
        const res = await axios.post("http://localhost:8080/api/idDuplicate", {
          userId: this.userId
        });
        alert("์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์•„์ด๋””์ž…๋‹ˆ๋‹ค.");
        this.idDuplicate = false;
      } catch(e) {
        alert(e.response.data);
        this.idDuplicate = true;
      }
    },
์•„์ด๋””์™€ ์ด๋ฉ”์ผ์„ ์ค‘๋ณต ์ฒดํฌํ•˜๋Š” ๋ฒ„ํŠผ์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๋ณด๊ธฐ์—” ๋ฌธ์ œ๊ฐ€ ์—†์–ด๋ณด์˜€๋Š”๋ฐ, ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ๋„ ๋™์ž‘์ด ์ด๋ค„์ง€์ง€ ์•Š์•˜๋‹ค. ์Šคํ”„๋ง ๋‚ด๋ถ€์˜ ๋กœ์ง ๋ฌธ์ œ์ผ๊นŒ ์‹ถ์–ด์„œ ์Šคํ”„๋ง๋„ ์ฒดํฌ ํ•ด๋ดค์ง€๋งŒ, ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ๋„ ์Šคํ”„๋ง๊นŒ์ง€ ์š”์ฒญ์ด ์˜ค์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด vue ์ฝ”๋“œ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด์„œ ๋ฒ„ํŠผ ์ž์ฒด๊ฐ€ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค.

 

 

 

 


 

 

 

 

2. ์ฝ˜์†”๋กœ ๋ฌธ์ œ ํ™•์ธํ•˜๊ธฐ

<script> ์ฝ”๋“œ ์ค‘ method ์ผ๋ถ€


async idDuplicate() {

      /* ์ฝ”๋“œ ์ถ”๊ฐ€!!!! */
      console.log("idDuplicate ๋ฒ„ํŠผ ํด๋ฆญ๋จ:", this.userId);
      
      try{
        const res = await axios.post("http://localhost:8080/api/idDuplicate", {
          userId: this.userId
        });
        alert("์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์•„์ด๋””์ž…๋‹ˆ๋‹ค.");
        this.idDuplicate = false;
      } catch(e) {
        alert(e.response.data);
        this.idDuplicate = true;
      }
    },
๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ฝ˜์†”์— ๋กœ๊ทธ๊ฐ€ ์ฐํžˆ๋„๋ก ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๋ฒ„ํŠผ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋‹ˆ, ์–ด๋–ค ๋ฌธ์ œ์ธ์ง€ ์•Œ๋ ค์ค„ ๊ฒƒ์ด๋‹ค.

 

chunk-VZXQDS5F.js?v=5f04997f:2125 [Vue warn]: 
Data property "idDuplicate" is already defined in Methods. 
at <BasicRegister onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< undefined > > at <RouterView > at <App>
์—„์ฒญ๋‚˜๊ฒŒ ๊ธด ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๊ฐ€ ๋–ด๋‹ค. ๋ง์„ ๋“ค์–ด๋ณด๋ฉด ๋ฐ์ดํ„ฐ์ธ idDuplicate๊ฐ€ ์ด๋ฏธ ๋ฉ”์„œ๋“œ์— ์ •์˜๋˜์žˆ๋‹ค๊ณ  ๋งํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด์„œ data์™€ method์— ๋™์ผํ•œ ์ด๋ฆ„์ด ์ ํ˜€์žˆ๋‹ค๋Š” ๊ฒƒ! (์ด๋ฉ”์ผ๋„ ์˜ค๋ฅ˜๊ฐ€ ๋˜‘๊ฐ™์ด ์ ํ˜€์žˆ์—ˆ๋‹ค.)

 

 

 

 


 

 

 

 

 

3. ๋ฌธ์ œ ํ•ด๊ฒฐ

<script>์˜ data

  data() {
    return {
      name: "",
      userId: "",
      pwd: "",
      pwdConfirm: "",
      tel: "",
      birth: "",
      email: "",
      idDuplicate: true,
      emailDuplicate: true,
    };
  },
<script> ์ฝ”๋“œ ์ค‘ method ์ผ๋ถ€


async checkIdDuplicate() {
      try{
        const res = await axios.post("http://localhost:8080/api/idDuplicate", {
          userId: this.userId
        });
        alert("์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ ์•„์ด๋””์ž…๋‹ˆ๋‹ค.");
        this.idDuplicate = false;
      } catch(e) {
        alert(e.response.data);
        this.idDuplicate = true;
      }
    },
์•„๊นŒ ๋ฉ”์„œ๋“œ๋ช…๋„ idDuplicate๋กœ ์ ์—ˆ๊ณ , data์—๋„ idDuplicate๋ผ๊ณ  ์ •์˜ํ–ˆ๋‹ค. ์•Œ์•„์„œ ๋ฐ์ดํ„ฐ์™€ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌ๋ถ„ํ•  ์ค„ ์•Œ์•˜๋Š”๋ฐ, ๋ชปํ•˜๋‚˜๋ณด๋‹ค... ํ•ด๊ฒฐ๋ฒ•์€ ์•„์ฃผ ๊ฐ„๋‹จํ•˜๋‹ค. ๋ฉ”์„œ๋“œ๋ช…์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ช…์„ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค. ํ•„์ž๋Š” ๋ฉ”์„œ๋“œ๋ช…์„ checkIdDuplicate๋กœ ๋ฐ”๊ฟ”์คฌ๋‹ค. ๊ทธ๋ฆฌ๊ณ  template์— ์—ฐ๊ฒฐ๋œ ์ฝ”๋“œ๊ฐ€ ์žˆ์–ด์„œ ๊ทธ๊ฒƒ๋„ ํ™•์ธํ•ด์คฌ๋‹ค.

 

 

'๐Ÿ’ป ํ”„๋กœ์ ํŠธ > ๐Ÿ ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€๐Ÿ ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[SpringBoot, Vue.js] ๋กœ๊ทธ์ธ ํ™”๋ฉด ๋งŒ๋“ค๊ธฐ, passwordEncoder.matches๋ฅผ ํ†ตํ•ด ์•”ํ˜ธํ™”๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋น„๊ตํ•˜๊ธฐ.  (5) 2025.08.31
[SpringSecurity] Vue์™€ Spring์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ.(CORS ์—๋Ÿฌ ํ•ด๊ฒฐํ•˜๊ธฐ)  (3) 2025.08.30
[SpringBoot] (IntelliJ, vue.js, H2) ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ 3ํŽธ: watch๋กœ ์•„์ด๋””์™€ ์ด๋ฉ”์ผ ๋ณ€๊ฒฝ ์‹œ ๋‹ค์‹œ ์ค‘๋ณต์ฒดํฌํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ.  (4) 2025.08.18
[SpringBoot] (IntelliJ, vue.js, H2) ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ 2ํŽธ : ์•„์ด๋””, ์ด๋ฉ”์ผ ์ค‘๋ณต์ฒดํฌ ๋งŒ๋“ค๊ธฐ.  (11) 2025.08.17
[SpringBoot] (IntelliJ, vue.js, H2) ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ 1ํŽธ : dto ๋งŒ๋“ค๊ณ  ์ด๋ฆ„, ํŒจ์Šค์›Œ๋“œ, ์ „ํ™”๋ฒˆํ˜ธ ํŒจํ„ด ์ฒดํฌ ๋งŒ๋“ค๊ธฐ.  (9) 2025.08.14