Vue移动端项目(三)

九、用户页面

该模块作为学生作业,不讲解,仅供源码参考。

image-20200111104547462

创建组件并配置路由

1、创建 views/user/index.vue

<template>
  <div class="user-container">用户页面</div>
</template>

<script>
export default {
     
  name: 'UserPage',
  components: {
     },
  props: {
     },
  data () {
     
    return {
     }
  },
  computed: {
     },
  watch: {
     },
  created () {
     },
  mounted () {
     },
  methods: {
     }
}
</script>

<style scoped></style>

2、配置到根路由

{
   
  path: '/user/:userId',
  name: 'user',
  component: () => import('@/views/user')
}

最后访问 /user/用户ID 测试。

页面布局

<template>
  <div class="user-container">
    <!-- 导航栏 -->
    <van-nav-bar
      class="page-nav-bar"
      left-arrow
      title="用户名"
      @click-left="$router.back()"
    ></van-nav-bar>
    <!-- /导航栏 -->

    <div class="user-info">
      <div class="base-info">
        <van-image
          class="avatar"
          round
          fit="cover"
          src="https://img.yzcdn.cn/vant/cat.jpeg"
        />
        <div class="right-area">
          <div class="stats-wrap">
            <div class="stats-item">
              <span class="count">66</span>
              <span class="text">发布</span>
            </div>
            <div class="stats-item">
              <span class="count">88</span>
              <span class="text">关注</span>
            </div>
            <div class="stats-item">
              <span class="count">28</span>
              <span class="text">粉丝</span>
            </div>
            <div class="stats-item">
              <span class="count">160</span>
              <span class="text">获赞</span>
            </div>
          </div>
          <van-button class="follow-btn">关注</van-button>
        </div>
      </div>
      <div class="label-info">
        <div class="bio-wrap">
          <span class="label">简介:</span>
          <span class="text">这是用户简介</span>
        </div>
      </div>
    </div>
  </div>
</template>

<script>
export default {
     
  name: 'UserIndex',
  components: {
     },
  props: {
     
    userId: {
     
      type: [Number, String, Object],
      required: true
    }
  },
  data () {
     
    return {
     }
  },
  computed: {
     },
  watch: {
     },
  created () {
     },
  mounted () {
     },
  methods: {
     }
}
</script>

<style scoped lang="less">
.user-container {
     
  .user-info {
     
    background-color: #fff;
    padding: 25px 32px;
    .base-info {
     
      display: flex;
      margin-bottom: 25px;
      .avatar {
     
        width: 155px;
        height: 155px;
        margin-right: 62px;
      }
    }
    .label-info {
     
      font-size: 25px;
      .bio-wrap {
     
        .label {
     
          color: #646263;
        }
        .text {
     
          color: #212121;
        }
      }
    }
  }
  .right-area {
     
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    .stats-wrap {
     
      display: flex;
      justify-content: space-between;
      .stats-item {
     
        display: flex;
        flex-direction: column
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值