AngelPlayer`s Diary

vue 사용 선언

<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>

 

 

data 출력

1. {{ }} 로 출력 위치 지정

2. 뷰 객체 생성 및 실행 ( new Vue({ }) ) 

    el : 화면에 표시될 영역(ex. div)을 지정

    data : 출력할 변수 및 데이터를 딕셔너리 형태로 저장

<body>
    <div id="main">
        <p>{{ sTitle }}</p>
    </div>
</body>

<script>
    // 뷰 객체 생성하여 앱을 초기화
    new Vue({
        // el : 화면에 표시될 영역을 지정하여 연결
        el: '#main',
        // data : 전달할 데이터
        data: {
            sTitle: 'Hello, Vue!'
        }
    });
</script>

 

 

단방향 바인딩 : v-bind

HTML 태그의 속성 값을 동적으로 수정할 때 사용함

( v-vind:속성 )으로 사용하며 v-vind 키워드 생략 가능함

<body>
    <div id="main">
        <h1 v-bind:class="sColorName + '_style'">안녕하세요</h1>
        <input :value="sDate">
    </div>
</body>

<script>
    let app = new Vue({
        el: '#main',
        data: {
            sDate: '올해 년도: ' + new Date().getFullYear(),
            sColorName: 'blue'
        }
    });
</script>

 

 

양방향 바인딩 : v-model

데이터 입력과 동시에 데이터 동기화 기능 구현 시 사용함

<body>
    <div id="main">
        <p>{{ sMsg }}</p>
        <input v-model:value="sMsg">
    </div>    
</body>

<script>
    var main = new Vue({
        el: '#main',
        data: {
            sMsg: 'AngelPlayer'
        }
    });
</script>

 

 

조건 : v-if, v-else

조건 충족 여부에 따라서 다른 출력

Vue는 true, false 사용함

<body>
    <div id="app">
        <h1>{{ bFlag }}</h1>
        <p v-if="bFlag == true">T</p>
        <p v-else>F</p>
    </div>    
</body>

<script>
    var app = new Vue({
        el: '#app',
        data: {
            bFlag: Math.random() > 0.5
        }
    });
</script>

 

 

반복문 : v-for

<body>
    <div id="main">
        <h1>Fruits</h1>
        <ol>
            <li v-for="item in aFruits">{{ item.sFruitName }}</li>
        </ol>
    </div>
</body>

<script>
    var main = new Vue({
        el: '#main',
        data: {
            aFruits: [ { sFruitName: '사과' }, { sFruitName: '오렌지' }, { sFruitName: '포도' }, ]
        }
    });
</script>

 

 

이벤트 핸들러 : v-on

뷰 안에서 키보드나 마우스를 제어하는 형식의 이벤트 발생 시 해당 함수를 실행

<body>
    <div id="app">
        <h1>{{ sTitle }}</h1>
        <button v-on:click="fnChangeTitle()">Push</button>
    </div>    
</body>

<script>
    new Vue({
        el: '#app',
        data: {
            sTitle: 'Hello'
        },
        // methods : 함수를 저장
        methods: {
            fnChangeTitle() {
                this.sTitle = "Hola"
            }
        }
    });
</script>

 

 

 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band