前后端通过API交互

时间:2022-02-27 15:06:18

前两篇已经写好了后端接口,和前段项目环境也搭建好了

现在要通过接口把数据展示在页面上

先占位置写架子

创建一个头部组件和底部组件占位置

<template>
<h1>这是头部组件</h1>
</template> <script>
export default {
name: "MyHeader"
}
</script> <style scoped> </style>

MyHeader

<template>
<h1>这是底部组件</h1>
</template> <script>
export default {
name: "MyFooter"
}
</script> <style scoped> </style>

MyFooter

<template>
<div>
<MyHeader></MyHeader>
<div style="height: 800px"></div>
<!-- 600px 先占和位置--> <MyFooter></MyFooter>
</div>
</template> <script>
import MyHeader from "./components/MyHeader"
import MyFooter from "./components/MyFooter" export default {
name: 'App',
components: {
//注册组件
MyHeader,
MyFooter,
},
}
</script> <style> </style>

app.vue

前后端通过API交互

路由

   路由作用就是切换组件:前端路由和后端路由没有一点关系,它的内部都是JavaScript实现的, 通过路由和点击事件绑定在一起,

通过点击去获取路由来切换对应的组件,获取DOM并渲染

  创建4个伪组件 、、 然后注册

前后端通过API交互

修改 MyHeader.vue 文件

<template>
<div class="head">
<router-link :to="{name:'home'}">首页</router-link>
<router-link :to="{name:'course'}">免费课程</router-link>
<router-link :to="{name:'light_course'}">轻课</router-link>
<router-link :to="{name:'degree_course'}">学位课程</router-link>
<!--形成a标签,通过:to="{name:'home'}找到home组件-->
<!--首页的连接就是home组件,点击home获得home组件并渲染出来,-->
</div> </template> <script>
export default {
name: "MyHeader"
}
</script> <style scoped> .head {
display: flex;
align-items: center;
justify-content: center;
}
/*j居中*/
.head a {
font-size: 16px;
margin-left: 20px;
}
/*间距*/
</style>

MyHeader

app.vue中添加出口

<template>
<div>
<!--<router-view></router-view>-->
<MyHeader></MyHeader>
<div style="height: 800px">
<router-view></router-view>
<!--组件的出口,注册的组件在这里显示-->
</div> <MyFooter></MyFooter>
</div>
</template> <script>
import MyHeader from "./components/MyHeader"
import MyFooter from "./components/MyFooter" export default {
name: 'App',
components: {
//注册组件
MyHeader,
MyFooter,
},
}
</script> <style> </style>

app.vue

<router-link :to="{name:'路由中注册的name'}">xxx</router-link>  //形成一个a标签,点击展示初对应的组件
<router-view></router-view>    // 组件的出口,放在那里在那里展示

获取详情

1.明确人任务是根据不同的分类找到所有的课程

2.根据不同的课程找到课程的详情

前后端通过API交互

然后就是使用vue搭好填充样式,使用axios给后端发送对应接口的请求,获取数据,渲染