일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- git rebase
- 프록시배포구조
- multicall
- ambiguous function description
- Vue
- rust 기초
- 스마트 컨트렉트 함수이름 중복
- Vue.js
- ethers type
- 체인의정석
- ethers websocket
- ethers v6
- chainlink 설명
- 스마트컨트렉트 함수이름 중복 호출
- SBT표준
- 컨트렉트 배포 자동화
- 러스트기초
- 머신러닝기초
- 티스토리챌린지
- vue기초
- ethers
- 스마트컨트렉트프록시
- 러스트 기초
- 러스트 기초 학습
- 오블완
- 컨트렉트 동일한 함수이름 호출
- nest.js설명
- ethers typescript
- 스마트컨트렉트 예약어 함수이름 중복
- 스마트컨트렉트테스트
- Today
- Total
체인의정석
Vue.js 템플릿 문법 본문
보간법
문자열
데이터 바인딩의 가장 기본 형태는 {{ }} 을 사용하는 텍스트 보간이다.
<span>메시지: {{ msg }}</span>
이렇게 될 경우 msg 가 쓰여진 부분은 해당 데이터 객체의 msg 속성 값으로 대체되며 데이터 객체의 msg 속성이 변경될 때 마다 갱신된다.
<span v-once>다시는 변경하지 않습니다: {{ msg }}</span>
다음과 같이 v-once 디렉티브를 사용하는 경우 데이터 변경 시 업데이트 되지 않는 일회서 보간을 수행할 수 있지만, 같은 노드의 바인딩에도 영향을 미친다.
원시 HTML
{{ }}는 HTML이 아닌 일반 텍스트로 데이터를 해석한다. 실제 HTML을 출력하려면 v-html 디렉티브를 사용해야 한다.
<p>Using mustaches: {{ rawHtml }}</p>
<p>Using v-html directive: <span v-html="rawHtml"></span></p>
속성
v-bind
<div v-bind:id="dynamicId"></div>
<button v-bind:disabled="isButtonDisabled">Button</button>
isButtonDisabled가 null, undefined 또는false의 값을 가지면 disabled 속성은 렌더링 된 엘리먼트에 포함되지 않습니다.
Javascript 표현식 사용
{{ number + 1 }}
{{ ok ? 'YES' : 'NO' }}
{{ message.split('').reverse().join('') }}
<div v-bind:id="'list-' + id"></div>
다음과 같이 자바스크립트 표현식의 모든 기능을 지원한다고 합니다.
보간법에 대해서 요약하자면 다음과 같습니다.
1. 먼저 이중 중괄호를 사용한다. 또한 v-once 디렉티브를 사용하면 일회성 보간을 수행할 수 있다.
2. 원시 HTML 출력을 하고 싶으면 v-html 디렉티브를 사용하면 된다.
3. v-bind 디렉티브를 사용하면 속성을 사용할 수 있다. 이때 disabled 속성이 되게 된다면 엘리먼트에 포함되지 않습니다.
4. 이중 중괄호 안에 Javascript 표현식을 써서 적용시킬 수 있습니다.
디렉티브
v- 접두사가 있는 특수 속성을 디렉티브라고 합니다. 디렉티브 속성 값은 단일 Javascript 표현식이 됩니다.
이제 나를 볼 수 있어요
전달인자
일부 디렉티브는 콜론으로 표시되는 "전달인자"를 사용할 수 있습니다.
예를 들어 v-bind 디렉티브는 반응적으로 HTML 속성을 갱신하는데 사용됩니다.
<a v-bind:href="url"> ... </a>
여기서 href는 전달 인자로 엘리먼트의 href속성을 표현식 url의 값에 바인드하는 v-bind 디렉티브에게 알려줍니다. 또 다른 예로 DOM 이벤트를 수신하는 v-on 디렉티브 입니다.
<a v-on:click="doSomething"> ... </a>
동적 전달인자
표현식을 대괄호로 묶어서 디렉티브의 아규먼트로 사용하는것도 가능합니다.
<a v-bind:[attributeName]="url"> ...
만약 자바스크립트에서 attributeName이 href로 정의되어 있다면 v-bind:href와 동일하게 작용합니다.
수식어
수식어는 점으로 표시되는 특수 접미사로 디렉티브를 특별한 방법으로 바인딩 해야 함을 나타냅니다. 예를 들어, .prevent 수식어는 트리거된 이벤트에서 event.preventDefault()를 호출하도록 v-on 디렉티브에게 알려줍니다.
<form v-on:submit.prevent="onSubmit"> ... </form>
약어
v-bind 약어
<!-- 전체 문법 -->
<a v-bind:href="url"> ... </a>
<!-- 약어 -->
<a :href="url"> ... </a>
<!-- shorthand with dynamic argument (2.6.0+) -->
<a :[key]="url"> ... </a>
: href 나 : key를 사용하는 이유는 : 이 v-vind의 약어이기 때문입니다. 앞으로 코드에서는 : 를 사용할 것인데 이는 모두 v-vind의 약어로 보면 됩니다.
v-on 약어
<!-- 전체 문법 -->
<a v-on:click="doSomething"> ... </a>
<!-- 약어 -->
<a @click="doSomething"> ... </a>
<!-- shorthand with dynamic argument (2.6.0+) -->
<a @[event]="doSomething"> ... </a>
@를 사용하면 v-on과 같은 의미로 작동 됩니다. v-on click 대신 @click만 써도 작동되는것 입니다.
이를 정리하자면
HTML의 엘리먼트를 변경하는 것은 v-bind 이며 이는 약자로 : 를 써서 바꿀 수 있으며,
이벤트를 수신하는 것은 v-on 이며 이는 약자로 @를 써서 바꿀 수 있다는 내용입니다.
이 2개는 앞으로도 자주 쓰일것 같습니다.
'개발 > frontend' 카테고리의 다른 글
Vue.js를 사용하기 위해 기본적으로 필요한 모듈들 사이트와 역할 및 링크 모음 (0) | 2020.06.23 |
---|---|
Vue.js 클래스와 스타일 바인딩 (0) | 2020.06.19 |
Vue.js computed와 watch (0) | 2020.06.19 |
Vue 인스턴스 (0) | 2020.06.18 |
Vue.js 시작하기 (0) | 2020.06.17 |