setup不能使用thisthis.$message,需要使用import{ElMessage}from'element-plus'ElMessage.success({message:'保存成功'})//Vue2老用法this.$message({type:success,message:'savedsuccessful'})refs的值必须用value获取。方法必须使用newCreatForm.value引用Get实例,newCreatForm由装饰器设置返回constnewCreatForm=ref()howtousevuexinsetupuseuseStoreimport{useStore}来自“vuex”;exportdefault{name:"About",components:{},setup(){conststore=useStore()functionplus(){//store.state.count++store.commit('increment')}return{plus}}在设置中使用“vue”中的computedimport{computed};exportdefault{name:"About",components:{},setup(){conststore=useStore()functionplus(){store.commit('increment')}//新用法constcount=computed(()=>{returnstore.state.count})return{加上,计数}},//Vue2传统用法computed:{//count(){//returnthis.$store.state.count//}},methods:{//plus(){//this.$store.state.count++;//}},};setup中的mapMutation如何使用模块中的mutation方法?constchange=mapMutations('user',{change:"changeName"})//用户命名空间变化别名,changeNamenamespace真正的函数名return{...change};Vue2中的传统使用方法:{...mapMutations({change:'user/changeName'})}在setup中使用mapActionsconstplus=mapActions({plus:'increment'});return{..plus};//返回的函数是页面需要的函数,可以直接使用。如果名称不同,则必须为该对象分配一个别名!也就是页面用的是plus,而store用的是increment。如果同名可以用数组['plus']来测试,在vue3中,setup函数中mapState和mapGetters返回的对象结构的state和getter是函数。这个函数应该放在计算函数中,它的返回值才是我们真正想要得到的。响应值特别注意的是,当我们将这个函数作为参数传递给computed时,我们要显示这个函数绑定到{$store:store};setup中可以直接返回mapMutations和mapActions,在template中可以正常使用Vue3-inSetup在template中使用axios请求得到的值赋值给templatesetup(){constverify=reactive({currentPage:1,pageSize:10,platName:''})constdata=reactive({tableData:[]})getClient(verify).then((res)=>{console.log(res)if(res.data.code===200){console.log(23423)data.tableData=res.data.data.contents}})直接定义tableData,赋值给模板不会生效return{verify,...toRefs(data)}},把this.$message改成下面的ElMessageBox.confirm('删除选中的数据?','Prompt',{confirmButtonText:'Yes',cancelButtonText:'No',type:'warning',closeOnClickModal:false}).then(()=>{deleteClient([did]).then(req=>{if(req.data.code===200){ElMessage.success('操作成功!')}else{ElMessage.error(req.data.msg)}}).catch(req=>{ElMessage.error('服务器错误!')})})。catch(()=>{ElMessage.info('Cancelleddelete')})Vue3使用router路由跳转在vue2中,我们只需要引入main.js来获取这个实例,直接this.$router.push('/login')首先,在vue3中,我们使用combinationAPI,在setup中,我们可以使用useRouter,userRouteimport{useRouter}from'vue-router'setup(){constrouter=useRouter()router.push({path:'/xxxview',query:{...}});}但是在我们自己打包的js中,不能使用useRouter,useRoute,需要在setup中调用执行才可以使用,所以给出解决方案:直接使用router实例:router文件下的index.js文件就是我们的路由实例importrouterfrom'../../路由器'路由器。推送('/登录')