JS/Vue

Vue.js 디렉티브 directive (v-on, v-bind)

인생아 2021. 2. 12. 01:34
반응형

디렉티브 : vue 엘리먼트의 데이터, 함수 또는 event를 html tag와 연결

 

  • v-on

    • 엘리먼트에 이벤트 리스너를 연결

    • DOM에 이벤트가 발생했을때 javascript를 실행

    • 약어 : "v-on" ->> "@"

  • html

<div id="app">
    <button v-on:click="hello">Hello</button>
    <!-- 약어표현   v-on:click →→→ @click -->
    <button @click="hello">Hello</button>

    <button @click="helloMsg('Vue')">Hello</button>
</div>
  • javascript

new Vue({
    el: '#app',
    methods: {
        hello: function(){
            alert('hello');
        },
        helloMsg: function(msg, e){
            e.stopPropagation();
            alert('hello' + ' ' + msg);
        }        
    }
});

 

 

  • v-bind

    • html tag의 속성과 vue 데이터를 연결

    • 약어 : "v-bind" ->> ":"

  • html

<div id="app">
    <div v-bind:id="testId"></div>
    <!-- 약어표현   v-bind:class →→→ :class -->
    <div :class="testClass"></div>

    
    <img :src="'https://blog.kakaocdn.net/dn/FuJS0/btqWXalaKLi/3v4Y2bk3J3kmhZaHIa1m2k/img.png'"></img>
    <img :src="imgPath"></img>

    <div :style="{fontSize: '30px', color: 'red'}">hello</div>
</div>
  • javascript

new Vue({
    el: '#app',
    data: {
        testId: 'test-id',
        testClass: 'test-class',
        imgPath: 'https://blog.kakaocdn.net/dn/FuJS0/btqWXalaKLi/3v4Y2bk3J3kmhZaHIa1m2k/img.png'
    }
});
반응형

'JS > Vue' 카테고리의 다른 글

Vue.js 디렉티브 directive (v-text, v-html, v-show, v-if)  (0) 2021.02.11
Vue.js 템플릿 문법  (0) 2021.02.11
Vue.js 라우터  (0) 2021.02.08
Vue.js 컴포넌트 등록  (0) 2021.02.02
Vue.js 인스턴스 생성  (0) 2021.02.02