Vue.js

Vue.js STEP 3 - 기본 문법

2024. 1. 10. 17:45
728x90
  1. Vue 인스턴스
  • Vue 인스턴스에서 제공되는 옵션을 붙여 개발 할 수 있다.
  • el : id를 찾는 함수
  • data : 값을 넣을 데이터
<body>

    <div id="app">
        <p>{{ myText }}</p>
    </div>

<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
<script>
    
    new Vue({
        el: '#app', //id="app"
        data: {
            myText:"Hello"
        }
    })

</script>

</body>

 

2. 데이터 표시 {{데이터}}

  • v-text : 프로퍼티 html에 표현할 때는 {{ 프로퍼티 이름}} 형식으로 표현
  • v-html : HTML로 표현
<div id="app">
    <p>{{ myText }}</p>
    <p v-text="myText"></p> <!-- v-text라는 디렉티브를 통해 myText  -->
    <p v-html="myText"></p> 
</div>

<script>
    
    new Vue({
        el: '#app', //id="app"
        data: {
            myText: '<h1>Hello!!</h1>'
        }
    })

</script>
  • v-text와 {{myText}는 프로퍼티 텍스트를 그대로 출력하지만, v-html은 HTML로 표현된다.

3. 데이터 종류

  • Vue에서 데이터 타입은 숫자형, 문자형, Boolean이 있다.
<h1>데이터 종류</h1>

<div id="app">
    <p>{{ myPrice * 1.08 }}</p>
    <p>{{ "안녕하세요~" + myName + "님"}}</p>
    <p>{{ myName.substr(0,1) }}</p>
</div>

<script>
    
    new Vue({
        el: "#app",
        data: {
            myPrice : 500,
            myName : '김대환'
        }
    })

</script>
  • 배열 오브젝트
<h1>배열,오브젝트</h1>
    
    <div id="app2">
        <p> {{ myArray }} </p>
        <p> {{ myArray[0] }}</p>
        <p> {{ myObject.name }}</p>
        <p> {{ myObject.price }}</p>
    </div>
    
<script>
new Vue ({
        el: "#app2",
        data: {
            myArray : ['백엔드', '프론트엔드', '개발자' ],
            myObject : {name:'백엔드', price:600}
        }
    })
</script>
  • 프로퍼티에 배열, 오브젝트를 설정해 HTML에 출력할 수 있다.

4. 속성 지정

  • v-bind : 태그의 속성을 vue에서 지정할 수 있는 디렉티브다.
<div id="app">
    <input :type='type1'> <!-- v-bind 생략 가능함 -->
    <input v-bind:type='type2'>
    <a :href="url">url</a>
    <p v-bind:class="class1">v-bind 클래스 지정</p>
    <p v-bind:class="[class1, class2]">다중 클래스 지정</p>
    <p v-bind:class="{'test-class1' : isON}">클래스 ON/OFF</p> <!--  isON의 값이 true/false -->
</div>

<script>
    
    new Vue({
        el: "#app",
        data: {
            url: 'https://naver.com',
            type1 : 'radio',
            type2 : 'text',
            class1 : 'test-class1',
            class2 : 'test-class2',
            isON : true
        }
    })

</script>

 

5. 입력 폼 연결

  • v-bind를 통해 input에서 입력한 값을 프로퍼티에 저장 가능하다.
<h2>입력한 문자열을 표시하는 예제</h2>

    <div id="app">
    
        <!-- v-model 을  사용해서 프로퍼티에 값을 input값으로 저장 가능 -->
        <input v-model="input_model" placeholder="이름">
        <p>input model : {{ input_model}} </p>
    
        <!-- lazy는 input의 포커스를 다른 곳으로 이동할 때 프로퍼티에 저장하는 기능 -->
        <input v-model.lazy="input_model2">
        <p>input lazy model : {{ input_model2 }}</p>
        
        <!-- textarea 에서도 v-model 을 사용 가능 -->
        <textarea v-model="textarea_model"></textarea>
        <p>textarea model : {{ textarea_model }}</p>

        <!-- checkBox 에서 사용 예제에 저장된 프로퍼티를 v-bind를 통해 로직 실행 가능 -->
        <input type="checkbox" v-model="checkbox_model" value="awd">
        <button v-bind:disabled="checkbox_model === false">disabled</button>
        <p>checkbox model : {{ checkbox_model }}</p>

        <!-- 프로퍼티를 배열로 선언하면 value 값을 저장 -->
        <input type="checkbox" v-model="checkbox_model2" value="test1">
        <input type="checkbox" v-model="checkbox_model2" value="test2">
        <p>checkbox model : {{ checkbox_model2 }}</p>

        <!-- 라디오 프로퍼티 저장 -->
        <input type="radio" v-model="radio_model" value="test1">
        <input type="radio" v-model="radio_model" value="test2">
        <input type="radio" v-model="radio_model" value="test3">
        <p>radio model : {{ radio_model }}</p>

        <!-- select 프로퍼티 저장 -->
        <select v-model="select_model">
            <option>test1</option>
            <option>test2</option>
        </select>
        <p>select model : {{ select_model }}</p>

    </div>
    
<script>
    
    new Vue ({
        el: "#app",
        data: {
            input_model : '',
            input_model2 : '',
            textarea_model : '',
            checkbox_model : false,
            checkbox_model2 : [],
            radio_model : '',
            select_model : ''
        }
    })

</script>

728x90
저작자표시 비영리 변경금지 (새창열림)

'Vue.js' 카테고리의 다른 글

ES6 STEP 2 - 기본 문법 2  (0) 2024.01.17
ES6 STEP 1 - 기본 문법  (0) 2024.01.16
Vue.js STEP 4 - 기본 문법 2  (1) 2024.01.11
Vue.js STEP 2 - 기본 프로젝트 생성 및 실행  (0) 2024.01.10
Vue.js STEP 1 - 기초 셋팅  (2) 2024.01.10
'Vue.js' 카테고리의 다른 글
  • ES6 STEP 1 - 기본 문법
  • Vue.js STEP 4 - 기본 문법 2
  • Vue.js STEP 2 - 기본 프로젝트 생성 및 실행
  • Vue.js STEP 1 - 기초 셋팅
IT의 큰손
IT의 큰손
IT계의 큰손이 되고 싶은 개린이의 Log 일지
IT의 큰손
Developer Story House
IT의 큰손
전체
오늘
어제
  • 분류 전체보기 (457)
    • 정보처리기사 필기 (18)
    • 정보처리기사 실기 (12)
    • 정보처리기사 통합 QUIZ (12)
    • 빅데이터 (11)
    • 안드로이드 (11)
    • 웹페이지 (108)
    • 자바 (49)
    • SQLD (3)
    • 백준 알고리즘 (76)
    • 데이터베이스 (41)
    • 깃허브 (2)
    • Library (14)
    • Server (31)
    • 크롤링&스크래핑 (3)
    • Spring (23)
    • Vue.js (13)
    • React (27)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • Developer Stroy House

인기 글

태그

  • JavaScript
  • 프론트엔드
  • 백엔드
  • 웹개발
  • IT자격증
  • 자바
  • IT개발자
  • 웹페이지
  • 정보처리기사
  • IT자격증공부
  • 데이터베이스
  • it
  • 개발블로그
  • 개발자
  • java
  • 정보처리기사필기
  • jsp
  • 코딩테스트
  • 앱개발자
  • React
  • DBA
  • html
  • 웹개발자
  • DB
  • jquery
  • 정보보안전문가
  • ajax
  • 알고리즘
  • css
  • 백준

최근 댓글

최근 글

Designed By hELLO
IT의 큰손
Vue.js STEP 3 - 기본 문법
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.