[VUE] 바인딩

JIOO·2022년 12월 12일

Vue

목록 보기
3/18
post-thumbnail

👨‍🎓 데이터를 바인딩 할 땐 세가지 바인딩이 존재한다.

· 텍스트로 바인딩
· html 바인딩
· 속성 바인딩

👨‍🎓 사용 할 공용 데이터

export default {
 data() {
  return {
   msg : hello,
   dynamicId : uniqueId
  }
 }
}

뷰에서의 변수는 data() 안에 객체 형식으로 만들어 저장한다
mse : hello = let mse = "hello"가 됨.

텍스트 바인딩

<span>메세지: {{ msg }}</span>

텍스트 바인딩은 간단하게 이렇게 사용하고 msg에 값이 새로 할당 될 때마다 새로고침 없이
값이 변경된다.


html 바인딩

<span v-html="파일명.html"></span>

가끔 html 파일을 페이지 내에서 불러와야 하는 일이 발생하는데, 그때 html 파일을 제이쿼리의
ajax를 해주는 식으로 불러와야하는 번거러움을 vue에서는 v-html로 해결 했다.


속성 바인딩

속성바인딩은 v-bind or : 라는 코드로 Element에 사용됨

<div :id="dynamicId"></div> // 예시

이렇게 넣게되면 data()의 dynamicId에 있는 uniqueId가 div에 id로 할당된다.

추가로 알면 좋은 점

· 불리언(Boolean) 속성

<button :disabled="isButtonDisabled">버튼</button>

· isButtonDisabled에 true 값이 있는 경우, 버튼에 disabled 속성이 표기되는 반면
false일 경우 disabled자체가 빠져버림

· 동적 속성

디렉티브의 인자를 대괄호로 감싸서 JavaScript 표현식으로 사용가능하다.

<a :[attributeName]="url"> ... </a>

· 수식어

<form @submit.prevent="submit함수명">...</form>

form에서 post를 할 때 보통 event.preventDefault()를 하게 되는데
@submit.prevent를 해주게 되면 전달되는 함수에서는 위의 내용이 자동으로 처리된다.

· a태그에 자동으로 url이 바뀌어야 한다면 이렇게 가능

<a :href='주소'></a>

· {{ }} 이중 중괄호를 표현 할 땐 삼항연산자로 if를 표현 할 수 있다.

· v-bind는 함수도 바인딩 할 수 있다.

· kebab-case 태그 해석

Vue는 PascalCase를 사용하여 등록된 컴포넌트에 대한 kebab-case 태그 해석을 지원합니다.
이것은 MyComponent로 등록된 컴포넌트가 해당으로 사용 될 수도 있습니다.

<MyComponent> 또는 <my-component>
profile
프론트엔드가 좋은 웹쟁이 with Notion (요즘은 노션과 병행 중)

0개의 댓글