TIL. Vue.js[여러개의 Vue 인스턴스 사용하기]

권기현·2020년 3월 24일
0

여러개의 Vue 인스턴스 사용하기

html

<div id="app">
      {{name}}<br />
      <button @click="changeText">Click</button>
    </div>
    <div id="app-1">
      {{name}}<br />
      <button @click="changeText">Click</button>
    </div>

js

const app = new Vue({
        el: '#app',
        data: {
          name: '권기현'
        },
        methods: {
          changeText() {
            app1.name = '권기현 업데이트';
          }
        }
      });

      const app1 = new Vue({
        el: '#app-1',
        data: {
          name: '정다솔'
        },
        methods: {
          changeText() {
            app.name = '정다솔 업데이트';
          }
        }
      });

간단히 설명하자면,
"권기현" 밑의 버튼을 클릭하면 => "정다솔"이 "권기현 업데이트" 로 바뀌고,
"정다솔" 밑의 버튼을 클릭하면 => "권기현"이 "정다솔 업데이트" 로 바뀐다.

위의 로직을 위해서는 각자 다른 인스턴스의 data를 참조해야한다.

그러기위해서 각 인스턴스를 변수에 담아주고(정의하고) method에서 Vue인스턴스가 담긴 변수를 활용하여 각 인스턴스에서 서로의 값을 바꿀 수 있게 하였다.

-> this는 new Vue를 가르키는데, new Vue를 "const 변수"에 담아주므로써 this 대신에 변수명을 써줄 수 있다.

profile
함께 일하고 싶은 개발자를 목표로 매일을 노력하고, 옷을 좋아하는 권기현 입니다.

0개의 댓글