打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VUE移动端音乐APP学习【二】:页面骨架开发
userphoto

2022.11.28 北京

关注

页面骨架

页面的骨架分为三块区域: header(头部标题)、tab(切换按钮)、router-view(路由切换的容器)

在app.vue中:

<template>
  <div id="app">
    <m-header></m-header>
    <tab></tab>
    <router-view></router-view>
  </div>
</template>

<script>
import MHeader from './components/m-header/m-header';
import Tab from './components/tab/tab';

export default {
  components: {
    MHeader,
    Tab,
  },
};

</script>

 配置路由

在router/index.js中进行路由配置:

import Vue from 'vue';
import VueRouter from 'vue-router';
import Recommend from '../components/recommend/recommend';
import Search from '../components/search/search';
import Singer from '../components/singer/singer';
import Rank from '../components/rank/rank';

Vue.use(VueRouter);

const routes = [
  {
    path: '/recommend',
    name: 'Recommend',
    component: Recommend,
  }, {
    path: '/search',
    name: 'Search',
    component: Search,
  }, {
    path: '/singer',
    name: 'Singer',
    component: Singer,
  }, {
    path: '/rank',
    name: 'Rank',
    component: Rank,

  },

];

const router = new VueRouter({
  routes,
});

export default router;

配置默认路由:

{
    path: '/',
    redirect: '/recommend',
  },

实现导航栏组件

tag.vue:

<template>
  <div class="tab">
    <router-link tag="div" class="tab-item" to="/recommend">
      <span class="tab-link">推荐</span>
    </router-link>
    <router-link tag="div" class="tab-item" to="/singer">
      <span class="tab-link">歌手</span>
    </router-link>
    <router-link tag="div" class="tab-item" to="/rank">
      <span class="tab-link">排行</span>
    </router-link>
    <router-link tag="div" class="tab-item" to="/search">
      <span class="tab-link">搜索</span>
    </router-link>
  </div>
</template>

<script>
export default {
  name: 'tab',
};

</script>
<style lang="scss">
.tab {
  display: flex;
  height: 44px;
  line-height: 44px;
  font-size: $font-size-medium;

  .tab-item {
    flex: 1;
    text-align: center;

    .tab-link {
      padding-bottom: 5px;
      color: $color-text-l;
    }

    &.router-link-active {
      .tab-link {
        color: $color-theme;
        border-bottom: 2px solid $color-theme;
      }
    }
  }
}
</style>

其中

 &.router-link-active 实现当前的路由对应的按钮的高亮效果

首页效果图

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Vue + Vue
(十七)硅谷外卖-异步显示数据
drf vue项目搭建
也许 vue css3 做交互特效更简单
Vue 根据鼠标悬停目标元素上方显示、隐藏指定元素交互实现
Vue3 路由 | 菜鸟教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服