<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../vue.js"></script>
<STYle>
.v-enter,.v-leave-to{
opacity: 0;
transform: translateX(150px);
}
.v-enter-active,.v-leave-active{
transition: all 0.5s ease;
}
</STYle>
</head>
<body>
<!-- 第一种
<div id="app">
<a href="" @click.prevent="flag=true">登录</a>
<a href="" @click.prevent="flag=flase">注册</a>
<login v-if='flag'></login>
<register v-else='flag'></register>
</div>
<script>
Vue.component('login', Vue.extend({
template: '<h3>登录</h3>'
}))
Vue.component('register', Vue.extend({
template: '<h3>注册</h3>'
}))
var vm = new Vue({
el: '#app',
data: {
flag: true
},
methods: {}
})
</script>
-->
<!-- 第二种 -->
<div id="app">
<a href="" @click.prevent="comName='login'">登录</a>
<a href="" @click.prevent="comName='register'">注册</a>
<transition MODE="out-in">
<component :is="comName"></component>
</transition>
</div>
<script>
Vue.component('login', Vue.extend({
template: '<h3>登录</h3>'
}))
Vue.component('register', Vue.extend({
template: '<h3>注册</h3>'
}))
var vm = new Vue({
el: '#app',
data: {
comName: ''
},
methods: {}
})
</script>
</body>
</html>