vue-router - 예제1

by 1004lucifer

HTML

<script src="https://npmcdn.com/vue-router/dist/vue-router.js"></script>
<div id="app">
  <router-link to="/">/home</router-link>
  <router-link to="/foo">/foo</router-link>
  <router-view id="content"></router-view>
  <div id="desc">
    /home 링크에서 값을 증가신 후 /home 링크를 눌러도 아무런 변화가 없음<br />
    (router-view가 다시 로드되지 않음)
  </div>
</div>

CSS

body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}
#app {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  transition: all 0.2s;
  height: 250px;
}
#content {
  background: #F8E0E0;
  border-radius: 4px;
  padding: 20px;
  transition: all 0.2s;
}
#desc {
  background: #E0F8E0;
  border-radius: 4px;
  padding: 20px;
  transition: all 0.2s;
}

Vue

const Home = { 
	template: `
  	<div>
    	Home1<br/>
      <span>innerData: {{innerData}}</span><br />
      <button @click="innerData++">증가</button>
    </div>`,
  data() {
  	return {
    	innerData: 0
    }
  }
}
const Foo = { template: '<div>Foo</div>' }

const router = new VueRouter({
  mode: 'history',
  routes: [
    { path: '/', component: Home },
    { path: '/foo', component: Foo }
  ]
})

new Vue({
	router,
  el: '#app',
  data: {
    msg: 'Hello World'
  }
})