Vue 电影导航组件

​Vue 渐进式JavaScript 框架 基于Vue2的移动端项目:电影导航组件

目录

电影导航组件

创建导航组件

使用组件

引入和注册

使用导航

样式设置

Tabbar.vue

电影导航组件样式

总结


电影导航组件

开始做电影导航组件。

创建导航组件

在mycomponents/films下创建FilmHeader.vue组件。

内容如下:

html 复制代码
<template>
    <ul>
        <router-link to="/films/nowplaying" custom v-solt="{ navigate, isActive }">
            <li @click="navigate" :class="isActive ? 'tabActive' : ''">
                正在热映
            </li>
        </router-link>
        <router-link to="/films/comingsoon" custom v-solt="{ navigate, isActive }">
            <li @click="navigate" :class="isActive ? 'tabActive' : ''">
                即将热映
            </li>
        </router-link>
    </ul>
</template>

使用组件

引入和注册

在FilmsView.vue中引入和局部注册。

引入

javascript 复制代码
import filmHeader from '@/mycomponents/films/FilmHeader'

局部注册

javascript 复制代码
components: {
    filmSwiper,
    filmSwiperItem,
    filmHeader
  }

使用导航

在filmsView.vue中使用注册的导航组件。

示例如下:

html 复制代码
<template>
    <div>
        <!-- 增加判断 数据加载完成后渲染 -->
        <film-swiper :key="datalist.length">
          <film-swiper-item v-for="data in datalist" :key="data.orderIndex" class="filmSwiperItem">
            <img :src="data.imgUrl | getImg" alt="">
          </film-swiper-item>
        </film-swiper>
        <film-header></film-header>
        <router-view></router-view>
    </div>
</template>

样式设置

Tabbar.vue

把类样式从app.vue 迁移到tabbar.vue中。

html 复制代码
.tabActive {
  color:red;
}
电影导航组件样式

在filmsHeader.vue中最下面,示例如下:

html 复制代码
<style lang="scss" scoped>
ul {
    display: flex;
    height: 2.7222rem;
    line-height: 2.7222rem;
    li {
        flex: 1;
        text-align: center;
    }
}

.tabActive {
    color:red;
    border-bottom: 2px solid red;
}
</style>

改到span上设置下划线样式

html 复制代码
<template>
    <ul>
        <router-link to="films/nowplaying" custom v-slot="{ navigate, isActive }">
            <li @click="navigate">
                <span :class="isActive ? 'tabActive' : ''">正在热映</span>
            </li>
        </router-link>
        <router-link to="films/comingsoon" custom v-slot="{ navigate, isActive }">
            <li @click="navigate">
                <span :class="isActive ? 'tabActive' : ''">即将热映</span>
            </li>
        </router-link>
    </ul>
</template>

总结

Vue 渐进式JavaScript 框架 基于Vue2的移动端项目:电影导航组件

相关推荐
誰能久伴不乏23 分钟前
Linux如何执行系统调用及高效执行系统调用:深入浅出的解析
java·服务器·前端
涔溪2 小时前
响应式前端设计:CSS 自适应布局与字体大小的最佳实践
前端·css
今禾2 小时前
前端开发中的Mock技术:深入理解vite-plugin-mock
前端·react.js·vite
你这个年龄怎么睡得着的2 小时前
Babel AST 魔法:Vite 插件如何让你的 try...catch 不再“裸奔”?
前端·javascript·vite
我想说一句2 小时前
掘金移动端React开发实践:从布局到样式优化的完整指南
前端·react.js·前端框架
jqq6662 小时前
Vue3脚手架实现(九、渲染typescript配置)
前端
码间舞2 小时前
Zustand 与 useSyncExternalStore:现代 React 状态管理的极简之道
前端·react.js
Dream耀2 小时前
提升React移动端开发效率:Vant组件库
前端·javascript·前端框架
冰菓Neko2 小时前
HTML 常用标签速查表
前端·html
gis收藏家2 小时前
从稀疏数据(CSV)创建非常大的 GeoTIFF(和 WMS)
前端