导航栏组件
到现在为止,发现访问每个页面还需要在地址栏url修改;
打开导航栏NavBar.vue
修改成如下,发现每点击一个导航栏刷新url地址,重新请求服务器,这不叫做前端渲染
添加一个属性标签 代替href a标签;
home是在router中设置的名称。
<template>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<!-- -fluid去掉会偏向中间一些,导航栏 -->
<div class="container">
<router-link class="navbar-brand " :to="{ name: 'home', params: {} }">MySpace</router-link>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarText"
aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarText">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<router-link class="nav-link" :to="{ name: 'home', params: {} }">首页</router-link>
</li>
<li class="nav-item">
<router-link class="nav-link" :to="{ name: 'userlist', params: {} }">好友列表
</router-link>
</li>
<li class="nav-item">
<router-link class="nav-link" :to="{ name: 'uerprofile', params: {} }">用户动态
</router-link>
</li>
</ul>
<ul class="navbar-nav ">
<li class="nav-item">
<router-link class="nav-link" :to="{ name: 'login', params: {} }">登录</router-link>
</li>
<li class="nav-item">
<router-link class="nav-link" :to="{ name: 'register', params: {} }">注册
</router-link>
</li>
</ul>
</div>
</div>
</nav>
</template>
<script>
export default {
name: "NavBar",
}
</script>
<style scoped>
</style>
现在点击导航栏,url地址没有变化,这就完成了前端渲染
用户动态页面
页面比较复杂,使用三个组件模块来实现
可以使用bootstrap的grid system
url: https://v5.bootcss.com/docs/5.1/layout/grid/
按照这个布局模仿着写;
因为contenbase里面定义了container,不用再重写
https://profile-avatar.csdnimg.cn/3d6ab8b711d34faf96b0a3b57ec1021b_qq_36288669.jpg!3
头像太大,bootstrap搜索image
按钮也是有样式的在bootsrap; Button
用户动态列表
userProfilePost.vue
添加到UserProfileVie.vue
vue 在不同组件传递信息是类似于react
关注按钮
按钮当成立的时候显示出来,不成立的时候隐藏掉
绑定函数 1:25:00
~暂停