๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŒต Vue.js

[Vue.js] v-bind๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๊ณ , href๋กœ ํ•˜์ดํผ๋งํฌ ๋งŒ๋“ค๊ธฐ.

by ._.sori 2025. 9. 16.

 

 

 

v-bind๋กœ props์— ์–ด๋–ค ๊ฐ’์„
๋ณด๋‚ด๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด v-bind๋Š” ๋ญ˜๊นŒ?

 

 

 

 

 

v-bind

  • HTML ์†์„ฑ์ด๋‚˜ ์ปดํฌ๋„ŒํŠธ props์— ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋””๋ ‰ํ‹ฐ๋ธŒ์ด๋‹ค.
  • ์ถ•์•ฝํ˜•์œผ๋กœ :๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋‹ค.
  • ์ฃผ๋กœ ์†์„ฑ๊ฐ’์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜, ์ปดํฌ๋„ŒํŠธ์— props ์ „๋‹ฌํ•˜๊ฑฐ๋‚˜, ์ƒํƒœ์— ๋”ฐ๋ผ ํด๋ž˜์Šค๋‚˜ ์Šคํƒ€์ผ์„ ํ† ๊ธ€ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

 

๋””๋ ‰ํ‹ฐ๋ธŒ

  • HTML ํƒœ๊ทธ ์•ˆ์— ๋“ค์–ด๊ฐ€๋Š” ์†์„ฑ์˜ ์—ญํ• ์„ ํ•˜๋ฉฐ, v-๋ผ๋Š” ์ ‘๋‘์‚ฌ๊ฐ€ ๋ถ™๋Š” ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค.

 

 

 

๋ฐ”์ธ๋”ฉ

  • ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ๋ฐ”์ธ๋”ฉ์€ ์ฃผ๋กœ UI ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ์›น ํŽ˜์ด์ง€๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ๋ฐ์ดํ„ฐ(View)์™€ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ(Model)๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ๋™๊ธฐํ™”ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.
  • ์ฆ‰, ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด UI๋„ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๊ฑฐ๋‚˜, UI์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๋ฐ์ดํ„ฐ์— ๋ณ€์˜๋˜๋Š” ๋“ฑ ๋‘ ์ •๋ณด ์†Œ์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ์ผ์น˜์‹œํ‚จ๋‹ค.

 

 

 

ํ† ๊ธ€

  • ๋‘ ๊ฐ€์ง€ ์ƒํƒœ๋‚˜ ์˜ต์…˜ ์‚ฌ์ด๋ฅผ ๋ฒˆ๊ฐˆ์•„ ์ „ํ™˜ํ•˜๋Š” ๋™์ž‘์„ ์˜๋ฏธํ•œ๋‹ค.

 

 

 

 


 

 

 

 

v-bind์˜ ์ถ•์•ฝํ˜• ์ฝ”๋“œ

  • ์ถ•์•ฝํ˜•์ด ์•„๋‹ ๋•Œ
v-bind:href="url"

 

  • ์ถ•์•ฝํ˜•์ผ ๋•Œ
:href="url"

 

 

 

 


 

 

 

 

v-bind๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์›น์‚ฌ์ดํŠธ ๋“ค์–ด๊ฐ€๋ณด๊ธฐ

  • ํ™”๋ฉด

 

 

 

 

  • ์ฝ”๋“œ
<script  setup>
site = "https://vuejs.org/"
</script>



<template>
  <a :href="site" target="_blank" rel="noopener noreferrer">
    Vue ๊ณต์‹ ์‚ฌ์ดํŠธ๋กœ ์ด๋™
  </a>
</template>
<a> ์š”์†Œ๋Š” href ํŠน์„ฑ์„ ํ†ตํ•ด ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋‚˜ ๊ฐ™์€ ํŽ˜์ด์ง€์˜ ์–ด๋А ์œ„์น˜, ํŒŒ์ผ, ์ด๋ฉ”์ผ ์ฃผ์†Œ์™€ ๊ทธ ์™ธ ๋‹ค๋ฅธ URL๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜์ดํผ๋งํฌ๋ฅผ ๋งŒ๋“ ๋‹ค. Vue ๊ณต์‹ ์‚ฌ์ดํŠธ๋กœ ์ด๋™์„ ๋ˆ„๋ฅด๋ฉด href๋ฅผ v-bind๋กœ ํ•ด๋†”์„œ script์— ์ ์€ ์ฃผ์†Œ๊ฐ’์ด ์—ฐ๊ฒฐ๋ผ์„œ ํ•ด๋‹น ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•œ๋‹ค.

target์€ ๋งํฌ๋ฅผ ์–ด๋””์— ์—ด์ง€ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์œผ๋กœ _blank๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ƒˆํƒญ์—์„œ ์—ด๋„๋ก ํ–ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  rel์€ ๋งํฌ์˜ ์†์„ฑ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. noopener๋Š” ๋งํฌ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ € ์ปจํ…์ŠคํŠธ ์•ก์„ธ์Šค ๊ถŒํ•œ ์—†์ด ์ƒˆ ํƒญ์—์„œ ๋งํฌ๊ฐ€ ์—ด๋ฆฐ๋‹ค. ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ๋งํฌ๋ฅผ ์—ด ๋•Œ ์œ ์šฉํ•˜๋‹ค. noopener๋Š” _blank์ผ ๋•Œ ์ ์šฉ๋˜๋Š” ๊ฐ’์ด๋ผ์„œ, noopener๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด a ํƒœํฌ๊ฐ€ ๋‹ค๋ฅธ target์„ ๊ฐ€์ ธ๋„ ์ƒˆํƒญ์—์„œ ๋งํฌ๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜๋„ ์žˆ๋‹ค. noopener ๋‹ค์Œ์œผ๋กœ norefferer์„ ์ผ๋‹ค. norefferer์€ ํ•˜์ดํผ๋งํฌ๋กœ ์ด๋™ํ•  ๋•Œ referer ํ—ค๋”๋ฅผ ๋ณด๋‚ด์ง€ ์•Š์•„, ์–ด๋””์„œ ์™”๋Š”์ง€ ๋ˆ„์ถœํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋ณดํ†ต target์— _blank๋ฅผ ์„ค์ •ํ•˜๋ฉด, ๋ณด์•ˆ์ƒ์˜ ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— rel ์†์„ฑ์— noopener๊ณผ noreferer๋ฅผ ์ง€์ •ํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค.

 

 

 

 


 

 

 

์•„๋ž˜์— ์ถœ์ฒ˜๋ฅผ ๋‚จ๊ฒจ๋‘๊ฒ ์Šต๋‹ˆ๋‹ค.
๋ธ”๋กœ๊ทธ์—” ์ œ๊ฐ€ ์ตœ๋Œ€ํ•œ ์ดํ•ดํ•œ ๋‚ด์šฉ๊นŒ์ง€๋งŒ ์ ๋Š”๊ฑฐ๋ผ
์ถœ์ฒ˜์— ๋“ค์–ด๊ฐ€์‹œ๋ฉด ๋” ๋งŽ์€ ๋‚ด์šฉ์ด ์žˆ์–ด ๊ณต๋ถ€ํ•˜์‹œ๋Š”๋ฐ ๋„์›€๋˜์‹ค๊ฒ๋‹ˆ๋‹ค.

 

๐Ÿชฝ

ํ‹€๋ฆฐ ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์„ธ์š”

 

 


 

- v-bind

 

[vue 3] 04. v-bind๋ฅผ ํ†ตํ•œ ์†์„ฑ ์ฒ˜๋ฆฌ

์ด๋ฒˆ ํฌ์ŠคํŠธ์—์„œ๋Š” v-bind๋กœ ์‹œ์ž‘ํ•˜๋Š” directive์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์ž. ๋ณธ ๋‚ด์šฉ์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— directive์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ƒ๊ธฐ์‹œ์ผœ๋ณด์ž. v-bind v-bind?v-bind๋Š” html์˜ ์†์„ฑ์— model์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ

goodteacher.tistory.com

 

 

 

- v-bind

 

[VueJS] v-bind ์™€ v-on ์•ฝ์–ด ์‚ฌ์šฉํ•˜๊ธฐ

vueJS์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” v-bind ์™€ v-on ํ‘œํ˜„์‹์— ๋Œ€ํ•œ ์•ฝ์–ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ์•„๋งˆ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํ‘œํ˜„์‹์ด๋ผ vueJS์—์„œ๋„ ์•ฝ์–ด๋ฅผ ๋งŒ๋“ค์–ด๋†“์€๊ฒŒ ์•„๋‹๊นŒํ•˜๋Š” ์ƒ๊ฐ์ด๋“ ๋‹ค. ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์ ‘ํ•ด

mine-it-record.tistory.com

 

 

 

- ๋‚ด์žฅ๋””๋ ‰ํ‹ฐ๋ธŒ

 

Vue.js

Vue.js - ํ”„๋กœ๊ทธ๋ž˜์‹œ๋ธŒ ์ž๋ฐ”์ŠคํŠธ๋ฆฝํŠธ ํ”„๋ ˆ์ž„์›Œํฌ

ko.vuejs.org

 

 

 

- ํ† ๊ธ€

 

[IT์šฉ์–ด] ํ† ๊ธ€(Toggle)์˜ ๋œป

๊ฐœ์ธ์ ์ธ ๋ฉ”๋ชจ๋ฅผ ์œ„ํ•ด ์ž‘์„ฑ๋œ ๊ธ€์ด๋ฏ€๋กœ ๊ฐ€๋ฒผ์šด ์ฐธ๊ณ ์šฉ์œผ๋กœ ๋ด์ฃผ์„ธ์š”. [์ปดํ“จํ„ฐ์ธํ„ฐ๋„ทIT์šฉ์–ด๋Œ€์‚ฌ์ „] 1) ๋‘ ๊ฐ€์ง€ ์•ˆ์ • ์ƒํƒœ๋ฅผ ์ทจํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์น˜์— ๊ด€ํ•œ ๊ฒƒ. 2) ์ฃผ์–ด์ง„ ์‹œ๊ฐ„์— ๋‘ ๊ฐ€์ง€ ์•ˆ์ • ์ƒํƒœ ์ค‘

chlo22.tistory.com

 

 

 

- a ํƒœ๊ทธ href

 

a ํƒœ๊ทธ์˜ href ์†์„ฑ ๊ฐ’์—Vue ๋‚ด์— ์„ ์–ธ๋œ ๊ฐ’์„ ๋„ฃ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ(Vue v-on:click, v-bind:href, router-link :to)

์ง€๊ธˆ๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” {{ mustached }} ๊ธฐํ˜ธ๋ฅผ ํ†ตํ•ด์„œ Vue ๋‚ด์˜ ๊ฐ’ ํ˜น์€ ํ•จ์ˆ˜๋ฅผ ๋ถˆ๋Ÿฌ์™”์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ™”๋ฉด์— ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•ด์•ผํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ HTML ์†์„ฑ ๋‚ด์—์„œ Vue์— ์„ ์–ธ๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ

heewon26.tistory.com

 

 

 

- a  ํƒœํฌ

 

<a> - HTML: Hypertext Markup Language | MDN

์ด ์š”์†Œ๋Š” ์ „์—ญ ํŠน์„ฑ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. download ๋งํฌ๋กœ ์ด๋™ํ•˜๋Š” ๋Œ€์‹  ์‚ฌ์šฉ์ž์—๊ฒŒ URL์„ ์ €์žฅํ• ์ง€ ๋ฌผ์–ด๋ด…๋‹ˆ๋‹ค. ๊ฐ’์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ๊ณ , ์ง€์ •ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ’์ด ์—†์œผ๋ฉด ํŒŒ์ผ ์ด๋ฆ„๊ณผ ํ™•์žฅ์ž

developer.mozilla.org

 

 

 

- _blank, noopener, noreferer

 

[HTML] target="_blank"์™€ noopener, noreferrer์˜ ๊ด€๊ณ„

VS Code์—์„œ emmet์„ ์‚ฌ์šฉํ•˜๋ฉด, aํƒœ๊ทธ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ target์„ \_blank ๋กœ ์ฃผ๋ฉด noopener ์™€ norefferer ์„ ์†์„ฑ๊ฐ’์œผ๋กœ ๊ฐ€์ง€๋Š” rel ์†์„ฑ์ด ์ž๋™์™„์„ฑ๋œ๋‹ค. ์™œ ์ด๋Ÿฐ ์†์„ฑ์ด ์ž๋™์™„์„ฑ ๋˜๋Š” ๊ฑด์ง€ ์•Œ์•„๋ณด์ž.์š”์†Œ๊ฐ€ ์ƒ์„ฑ

velog.io