setup() 函数是vue3中专门新增的方法,可以理解为 Composition Api 的入口
<template><div><nav><router-link to="/">Home</router-link> |<router-link to="/about">About</router-link> |<router-link to="/test?id=123&name=zolo">TestContent</router-link></nav><router-view /><div>{{ data.num }}</div><div>{{ data.name }}</div><button @click="add">addMe</button><button @click="resetnum">resetnum</button><p>{{ zolo }}</p><div><test-com msg="我是父组件传过来的" title="我是title,看看能不能接收"><button>我是插槽数据1</button><button>我是插槽数据2</button></test-com></div></div></template><script>// $route 获取当前路由信息// $router 获取当前路由器,分发器:可以进行页面跳转import { reactive, computed, ref, toRefs, readonly, isRef, watch,onBeforeMount, onMounted } from "vue";import testComVue from "./components/testCom.vue";import { useRoute, useRouter } from "vue-router";export default {components: {testCom: testComVue,},setup() {let route = useRoute();let router = useRouter();console.log(route.params);console.log(route.query);router.push({path:'/about',query:{name:'test',id:888,}});onBeforeMount(()=>{console.log(onBeforeMount);});onMounted(()=>{console.log(onMounted);});let zolo = ref(999);let data = reactive({num: 100,name: "hellozolo",});// let readdata = readonly(data);// readdata.num=999999;console.log("是否是可响应数据" + isRef(zolo));console.log("是否是可响应数据" + isRef(data));function add() {zolo.value--;data.num++;console.log(data.num);}function resetnum() {data.num = 100;zolo.value = 999;}//监听数据 新值,老值// watch(zolo, (a, b) => {// console.log(zolo);// console.log(a);// console.log(b);// });watch([zolo,()=>data.num], ([a1,b1],[a2,b2]) => {console.log('zolo-new:'+a1);console.log('zolo-old:'+a2);console.log('data-new:');console.log(b1);console.log('data-old:');console.log(b2);});return {zolo,data,add,resetnum,};},};</script>
相关推荐
© 2020 asciim码
人生就是一场修行