<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script src="./lib/vue-2.4.0.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="comName='login'">登錄</a> <a href="" @click.prevent="comName='register'">注冊</a> <!-- 通過 mode 屬性,設置組件切換時候的 模式 --> <transition mode="out-in"> <component :is="comName"></component> </transition> </div> <script> // 組件名稱是 字符串 Vue.component('login', { template: '<h3>登錄組件</h3>' }) Vue.component('register', { template: '<h3>注冊組件</h3>' }) // 創建 Vue 實例,得到 ViewModel var vm = new Vue({ el: '#app', data: { comName: 'login' // 當前 component 中的 :is 綁定的組件的名稱 }, methods: {} }); </script> </body> </html>