Vue3——网站整体布局、用户动态页面(下)

导航栏组件

到现在为止,发现访问每个页面还需要在地址栏url修改;
打开导航栏NavBar.vue
Vue3——网站整体布局、用户动态页面(下)_第1张图片
修改成如下,发现每点击一个导航栏刷新url地址,重新请求服务器,这不叫做前端渲染
Vue3——网站整体布局、用户动态页面(下)_第2张图片
添加一个属性标签 代替href a标签;
Vue3——网站整体布局、用户动态页面(下)_第3张图片
home是在router中设置的名称。

技巧:按住alt键,同点击光标可以同时修改多个标签a
acwing编辑器是按爪ctrl同时打字母

<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地址没有变化,这就完成了前端渲染

在这里插入图片描述

学会使用f12开发者工具看错误
这就写完了路由;

用户动态页面

页面比较复杂,使用三个组件模块来实现
可以使用bootstrap的grid system
url: https://v5.bootcss.com/docs/5.1/layout/grid/
Vue3——网站整体布局、用户动态页面(下)_第4张图片
按照这个布局模仿着写;
因为contenbase里面定义了container,不用再重写
Vue3——网站整体布局、用户动态页面(下)_第5张图片
在这里插入图片描述
https://profile-avatar.csdnimg.cn/3d6ab8b711d34faf96b0a3b57ec1021b_qq_36288669.jpg!3
头像太大,bootstrap搜索image

Vue3——网站整体布局、用户动态页面(下)_第6张图片
Vue3——网站整体布局、用户动态页面(下)_第7张图片
按钮也是有样式的在bootsrap; Button

Vue3——网站整体布局、用户动态页面(下)_第8张图片

用户动态列表

userProfilePost.vue
添加到UserProfileVie.vue
Vue3——网站整体布局、用户动态页面(下)_第9张图片
vue 在不同组件传递信息是类似于react

Vue3——网站整体布局、用户动态页面(下)_第10张图片

关注按钮

按钮当成立的时候显示出来,不成立的时候隐藏掉
Vue3——网站整体布局、用户动态页面(下)_第11张图片Vue3——网站整体布局、用户动态页面(下)_第12张图片
绑定函数 1:25:00
~暂停

你可能感兴趣的:(springboot框架课,前端,vue.js,javascript)