一、vue3 与vue2的区别
1、创建方式不同
vue2 是一个构造函数,通过new创建一个Vue实例
new Vue({})
vue3是一个对象。通过对象Vue的createApp()方法创建一个vue实例
Vue.createApp({})
2、挂载容器的方式不同
vue2
new Vue({
el: '#app'
})
new Vue({}).$mount('#app')
vue3
Vue.createApp({}).mount('#app')
3、data选项不同
vue2 可以是一个对象或者由方法返回一个对象
new Vue({
el: '#app',
data: {}
}
//或者
new Vue({
el:'#app',
data(){
return{}
}
})
vue3只能由方法返回一个对象
Vue.createApp({
data(){
return {}
}
})
4、响应式的不同
vue2的属性不具备相应式,要实现响应式有两种方法
(1). forceUpdate()强制刷新页面,比较损耗性能
(2). set()方法给对象添加新属性,针对性强制刷新,性能消耗低
(3). push 、pop、 unshift、 shift、sort、reverse、splice
this.$forceUpdate()
或
this.$set(this.star,'sex','男')
vue3 实现响应式数据