Vue3 与 Vue2的不同之处一 简单介绍 Vue 核心最基本的功能
1、弃用全局API new Vue,使用createApp
const app = Vue.createApp({})
2、需要手动挂载根节点
app.mount("#app")
3、弃用Vue.prototype,在Vue3中,使用如下定义方式
const app = Vue.createApp({})
app.config.globalProperties.$http = () => {}
4、不能直接使用Vue.nextTick / this.$nextTick, Vue3中使用方式如下
import { nextTick } from 'vue'
nextTick(() => {
// something
})
5、创建一个简单的Vue3示例
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Documenttitle>
<script src="https://unpkg.com/vue@next">script>
head>
<body>
<br />
<br />
<br />
<div id="two-way-binding">
<p>{{ message }}p>
<input v-model="message" />
div>
<script>
// const Counter = {
// data() {
// return {
// counter: 0,
// };
// },
// mounted() {
// this.count();
// },
// methods: {
// count() {
// this.clearTimes = setInterval(() => {
// this.counter++;
// }, 1000);
// },
// stop() {
// clearInterval(this.clearTimes);
// },
// noStop() {
// this.count();
// },
// },
// };
//注意
// 1、弃用全局API new Vue ,使用 createApp
// 2、需要手动挂载根节点 xx.mount("#counter")
// Vue.createApp(Counter).mount("#counter");
// const AttributeBinding = {
// data() {
// return {
// message: "You loaded this page on " + new Date().toLocaleString(),
// };
// },
// };
// Vue.createApp(AttributeBinding).mount("#bind-attribute");
// const EventHandling = {
// data() {
// return {
// message: "Hello Vue.js",
// };
// },
// methods: {
// reverseMessage() {
// console.log("111");
// this.message = this.message.split("").reverse().join("");
// },
// },
// };
// Vue.createApp(EventHandling).mount("#event-handling");
const TwoWayBinding = {
data() {
return {
message: "Hello Vue!",
};
},
};
Vue.createApp(TwoWayBinding).mount("#two-way-binding");
script>
body>
html>