从单页面应用的角度讲解Vue2和Vue3区别
//vue2代码 <!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="./js/vue.min.js"></script> //这里导入Vue2的js </head> <body> <div id="app"> <h4>当前咖啡豆的库存为:{{coffeeBeans}}</h4> <button @click="subStore">减库存</button> </div> <script> var app = new Vue({ el: "#app", data() { return { coffeeBeans: 100, }; }, watch: { coffeeBeans(newVal) { console.log(`库存变化:${newVal}`); }, }, methods: { subStore() { this.coffeeBeans--; }, }, }); </script> </body> </html>
//vue3代码 <!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="./js/vue.global.js"></script> //这里导入Vue3的js </head> <body> <div id="app"> <h4>当前咖啡豆的库存为:{{coffeeBeans}}</h4> <button @click="subStore">减库存</button> </div> <script> const { ref, watch } = Vue; const app = Vue.createApp({ setup() { let coffeeBeans = ref(100); watch(coffeeBeans, (newVal) => { console.log(`库存变化:${newVal}`); }); function subStore() { coffeeBeans.value--; } return { coffeeBeans, subStore, }; }, }); app.mount("#app"); </script> </body> </html>