转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_4.html

项目github地址:https://github.com/shamoyuu/vue-vux-iconan

上一章我们引入了vuex,这一章我们就来用一下。

我们底部的导航在进入漫画页的时候会隐藏,退出来之后会重新显示,所以我们给它加一个参数来控制。

首先在store.js文件里加一个变量ifShowNavBar: true,然后在App.vue里引入,并给app-footer添加v-show="ifShowNavBar"。

这样以后我们在其他页面控制vuex的ifShowNavBar变量的时候,就会自动处理UI了。

然后我们新建一个组件,只用来控制这个变量,在组件初始化之前设置为false,在组件销毁后设置为true,这样以后不想展示底部导航条的页面引入这个组件就好了。

新建一个文件components/common/HideNavBar.vue

<template><div></div>
</template><script>
export default {name: "HideNavBar",beforeMount() {//创建之前this.$store.commit("hideNavBar");},destroyed() {//销毁完成this.$store.commit("showNavBar");}
};
</script><style scoped>
div {display: none;
}
</style>

有些人习惯把这样的功能做成指令,但是vuex只推荐在组件中调用,所以。

然后我们开始开发漫画页吧,新建components/Opus.vue文件

<template><div class="opus-view"><hide-nav-bar></hide-nav-bar><header-bar></header-bar><div class="opus-body"><img :src="opus.cover" class="opus-body-content-bcg-img"><div class="opus-body-content"><img :src="opus.cover" class="opus-body-content-img"><div class="opus-body-content-txt"><h1 class="opus-name">{{opus.name}}</h1><div class="opus-author">作者:{{opus.author}}</div><div><rater v-model="opus.score" star="♡" active-color="#fb7279" :font-size="15" :margin="0" disabled></rater><span class="opus-popularity">{{opus.popularity}}人已阅</span></div></div></div><div class="opus-body-jaw"><button @click="read" class="read-btn" type="button">开始阅读</button></div></div><div class="button-tab-area"><tab custom-bar-width="20px"><tab-item selected @on-item-click="onItemClick">目录</tab-item><tab-item @on-item-click="onItemClick">详情</tab-item></tab></div><div class="chapter-area" v-show="tabIndex == 0"><div class="chapter" v-for="item in chapters" :key="item.id">{{item.name}}</div></div><div class="summary-area" v-show="tabIndex == 1">{{opus.summary}}</div></div>
</template><script>
import { Tab, TabItem, Flexbox, FlexboxItem, Rater } from "vux";
import HideNavBar from "@/components/common/HideNavBar";
import HeaderBar from "@/components/common/HeaderBar";
console.info(this.$score);
export default {data() {return {opus: {name: "名侦探柯南",summary:"高中生侦探工藤新一,被称为“日本警察的救世主”、“平成年代的福尔摩斯”。一次在与青梅竹马的女友毛利兰...",author: "青山刚昌",type: 0,cover: "http://iconan.bj.bcebos.com/1%2Fcover.jpg",popularity: "100万+",score: 4.5},chapters: [{id: 1,name: "第一卷"},{id: 2,name: "第二卷"},{id: 3,name: "第三卷"},{id: 4,name: "第四卷"},{id: 5,name: "第五卷"}],tabIndex: 0};},methods: {read: function() {console.info("开始阅读");},onItemClick: function(index) {this.tabIndex = index;}},mounted: function() {},components: {Tab,TabItem,HideNavBar,HeaderBar,Flexbox,FlexboxItem,Rater}
};
</script><style scoped lang="less">
.opus-view {position: relative;
}
.opus-body {position: relative;width: 100%;height: 107.6vw;background: #717171;
}
.opus-body-content {position: relative;padding-top: 14.7vw;text-align: center;
}
.opus-body-content-bcg-img {position: absolute;width: 100%;vertical-align: middle;filter: blur(50px);
}
.opus-body-content-img {width: 34vw;
}.opus-name {font-size: 8.53vw;color: #fff;-webkit-text-stroke: 2px #333;
}
.opus-author {font-size: 3.73vw;color: #ccc;text-shadow: 0px 0px 3px #333;
}
.opus-body-jaw {position: absolute;bottom: 0;width: 100%;height: 16vw;background: url("../assets/images/opus-main-top.png") 0 0 no-repeat;background-size: 100%;text-align: center;
}
.read-btn {padding: 2.8vw 9vw;margin-top: 10px;border-radius: 100px;background: #fb7279;font-size: 4.27vw;color: #fff;
}.button-tab-area {position: relative;padding: 0 10vw;background: #fff;
}.chapter-area {position: relative;justify-content: space-between;flex-flow: row wrap;background: #fff;
}.chapter {display: inline-block;width: 27vw;padding: 2vw 1.5vw;margin: 2vw 0 0 2vw;border: 1px solid #e5e5e5;border-radius: 3px;text-align: center;color: #fb7279;
}.summary-area {position: relative;padding: 4vw;background: #fff;
}
.opus-popularity {font-size: 15px;color: #fb7279;
}
</style>

这里面还引入了一个公共的头部,用来返回的,新建components/common/HeaderBar.vue文件

<template><div class="header"><button type="button" class="back-btn" @click="back"></button></div>
</template><script>
export default {name: "HeaderBar",data() {return {};},methods: {back() {this.$router.back();}}
};
</script><style scoped>
.header {position: absolute;top: 0;left: 0;padding: 12px;width: 100%;z-index: 1;
}
.back-btn {display: inline-block;position: relative;width: 30px;height: 30px;background: url("../../assets/images/return.png") 0 0 no-repeat;background-size: 30px;
}
</style>

转载于:https://www.cnblogs.com/shamoyuu/p/vue_vux_app_4.html

【前端】Vue2全家桶案例《看漫画》之四、漫画页相关推荐

  1. 【前端】Vue2全家桶案例《看漫画》之番外篇、express上传漫画(可选)

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_extra_1.html 项目github地址:https://github.com/sha ...

  2. 【前端】Vue2全家桶案例《看漫画》之六、图片阅读页

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_6.html 项目github地址:https://github.com/shamoyuu/ ...

  3. 前端开发全家桶:UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例

    element ★11612 - 饿了么出品的Vue2的web UI工具套件 Vux ★7503 - 基于Vue和WeUI的组件库 iview ★5801 - 基于 Vuejs 的开源 UI 组件库 ...

  4. Vue2全家桶+Element搭建的PC端在线音乐网站

    目录 1,前言 2,已有功能 3,使用 4,目录结构 5,页面效果 1,前言 项目基于Vue2全家桶及网易云音乐 Node Api实现,网站风格简约清新,体验比较流畅. 下载地址:https://gi ...

  5. 基于vue2全家桶开发的匿名朋友圈及聊天应用

    前言 学习了vue全家桶后一直想找个机会来写一个完整一点的项目,这次学校举办的比赛就是一个很好的契机.由于是自己瞎搞搞,所以写起来比较随心所欲,没有过多地从设计和产品的角度去思考.这个项目包括了图片上 ...

  6. Vue2全家桶之一:vue-cli(vue脚手架)超详细教程

    vue.js有著名的全家桶系列,包含了vue-router,vuex, vue-resource,再加上构建工具vue-cli,就是一个完整的vue项目的核心构成 vue-cli这个构建工具大大降低了 ...

  7. WEB前端 Vue 全家桶介绍

    Vue有著名的全家桶系列,包含了vue-router(http://router.vuejs.org),vuex(http://vuex.vuejs.org), vue-resource(https: ...

  8. 我用Vue2全家桶重写「daza.io」的前端

    文章固定链接:https://daza.io/articles/58303 在发布第一版的daza.io的时候 Vue 2 已经发布了,但当时的进度已经快完成了,所以就没有立即升级到 Vue 2. 在 ...

  9. 基于Vue2全家桶的移动端AppDEMO实现

    好久没更新过Vue的小文章,上次做了一个基于Vue+Mint-ui的移动端AppDemo,集成了推送功能,然后通过cordova打包生成apk,移动端表现还不错,今天把这个小东西分享出来,希望有更多的 ...

最新文章

  1. 设计模式之适配器模式(Adapter)摘录
  2. C++11中正則表達式測试
  3. 学习、纪律与交流——《Clean Coder》读后感
  4. Ubuntu下搭建Janus Server
  5. 非对称加密 公钥私钥_选择Java加密算法第3部分–公钥/私钥非对称加密
  6. MOVSX和MOVZX
  7. 求周期字符串的最小子串
  8. python调用java文件_Python程序中调用Java代码的实践
  9. 【Nokov】动作捕捉系统标定与机械臂各坐标系的说明
  10. html简单网页设计实验实践结论,网页设计社会实践报告
  11. jsp主板 jtp_HPlaserjtp1008不开机故障的检测与维修流程
  12. 未来交通技术发展现状和我国面临的挑战
  13. kali linux系统下安装 VMware Tools
  14. linux 模拟arm,拒绝开发板, 用 SkyEye 就可以模拟 ARM Linux!
  15. 幂律分布图matlab代码,关于幂律分布,你还应该知道如何用代码实现!| 集智百科...
  16. 重学计算机网络(三) - DHCP IP的孽缘
  17. MOS逻辑门(反相器/与门/或门/或非门/与非门)
  18. STM32F407——RC522(模拟SPI)
  19. c语言中按照“|”字符串截取,shell中取字符串子串的几种方式 截取substr
  20. 提升计算机性能 操作系统原理角度,浅析计算机操作系统原理

热门文章

  1. 数据库触发器(Database Trigger)
  2. POSIX是什么意思
  3. vu和v就好比较好回家
  4. Iterable、Collection和List
  5. rotate3d();
  6. 从小白到大神之路之学习运维第四天
  7. java项目左侧目录显示_idea项目的左侧目录没了如何设置
  8. 如何判断一个数是整数
  9. 滑动窗口算法(思想)
  10. 毕业设计思路+PPT(某信息化企业网络规划设计)