动态路由:我们经常需要把某种模式匹配道德所有路由,全都映射到同一个组件。例如我们有一个user组件,对于所有id不同的用户又要使用这个组件来渲染。一个路径参数使用冒号标记


动态路由使用方法:


```js

const router =new VueRouter({

routes:[

{path:'/user/:id/:name/:age',component:user}

]

})

```


创建vue:


```js

//下载完vue-router后使用vue-router
import {createRouter, createWebHashHistory} from "vue-router";
import Foo from '../components/Foo.vue'
import Bar from '../components/Bar.vue'
import User from '../components/User.vue'

//创建路由信息对象数组
const routes=[
    {path:'/foo',component:Foo},
    {path:'/bar',component:Bar},
    {path:'/user',component:User},

]
//创建理由管理器对象
const router = createRouter({
    history: createWebHashHistory(),
    routes})



//将路由管理器对象对外抛出
export default  router;
//在main.js中将index与整个项目相关联
import router from './router/index.js'
createApp(App).use(router).mount('#app')

```


vue3合成api-----setup()是vue3最重要的新特性之一


作用:之前vue对象规定了我们必须把某一类数据放到某一个结

构,这样在一定程度上对我们的代码进行了强制的分割。

在vue3中我们 入了setup0合成APl语法,他可以将某数据关联的

内容都整合到一个部分,即时setup0中的内容越来越多,也会围绕

着大而不乱的形式开发项目。


特点:1、setupQ结构中定义的变量,函数都需要 return 之后才可以在模板中使用

                 2.setup0是处于created生命周期之前的西数,也就是说data,methods中的数据是无法访问到的,setup(结构中的this指向undefinedref:在setup中只能包装字符串或数字形式的数据(值),使其变为响应式数据

reactive 在setup中包装对象,数组形式的数据(对象/数组)使其变成响应式数据toRefs 可以直接在html模板中使用对象的属性名当变量,不需要用,访问等。