详解vue.js移动端导航navigationbar的封装


Posted in Javascript onJuly 05, 2017

有几天没更新了,这几天上海天气比较热,天气一热就懒得写了。今天感觉还好,就写下导航部分的封装吧。

关于环境搭建和底部tabbar的封装请参考前面的两篇文章

web app和移动端原生app的构架方式不一样的,页面的切换是对整个页面的重新渲染。所以我们每个页面都有自己的导航条。

下面简单封装下导航条

html部分

此处写的导航的三个部分,分别是左边div、中间的title部分div、右边div。代码如下

<template>
 <header class="m-header" :class="{'is-bg-red':bgRed, 'is-fixed':fixed}">
  <div class="leftItem"><slot name="left"></slot></div>
  <div class="m-header-title" v-text="title"></div>
  <div class="rightItem"><slot name="right"></slot></div>
 </header>
</template>

js部分代码

此处向父类暴露了3个属性,分别是传入title的字符串和背景是否为红色,已经是否固定在顶部(默认是固定在顶部)。具体代码如下

<script type="text/ecmascript-6">
 export default{
  props: {
   title: {
    type: String,
    default: ''
   },
   bgRed: {
    type: Boolean,
    default: false
   },
   fixed: {
    type: Boolean,
    default: true
   }
  }
 }
</script>

stylus部分代码如下

<style scoped lang="stylus" rel="stylesheet/stylus">

 .m-header
  display flex
  flex-direction row
  align-items center
  height 64px
  background-color white
  border-bottom 1px solid #e5e5e5
  .leftItem
   margin-top 24px
   width 60px
   height 40px
   a
    display block
    text-decoration none
    color #333
    font-size 16px
    img
     padding 10px 10px
     width 24px
     height 24px
  .m-header-title
   width 100%
   height 44px
   margin-top 24px
   line-height 44px
   font-size $font-size-nav-title
   color $color-nav-item
   display flex
   justify-content center
   font-size 18px
   color #333
  .rightItem
   margin-top 24px
   width 60px
   height 40px
   a
    display block
    text-decoration none
    color #333
    font-size 16px
    img
     padding 9px 8px
     width 24px
     height 24px
 &.is-fixed
  position fixed
  left 0px
  right 0px
  top 0px
  z-index 9
 &.is-bg-red
  background-color #ee424a
  .m-header-title
   color white
  .m-header-left
   color white
  .m-header-right
   color white

</style>

封装完毕后,我们就可以使用啦,具体使用方法如下

<template>
 <div>
  <m-header title="职位" :bgRed="isShowRefresh">
   <a slot="left" v-show="false">
    ![](../../assets/refresh-white-icon@2x.png)
   </a>
   <a slot="right">
    ![](../../assets/home-filter@2x.png)
   </a>
  </m-header>
 </div>
</template>

<script type="text/ecmascript-6">
 import MHeader from 'common/nav/navbar'

 export default{
  data () {
   return {
    isShowRefresh: true
   }
  },
  components: {
   MHeader
  }
 }
</script>

运行效果图如下

详解vue.js移动端导航navigationbar的封装

详解vue.js移动端导航navigationbar的封装

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery animate 动画效果使用说明
Nov 04 Javascript
javascript getElementsByClassName 和js取地址栏参数
Jan 02 Javascript
js工具方法弹出蒙版
May 08 Javascript
Jquery通过JSON字符串创建JSON对象
Aug 24 Javascript
JS实现OCX控件的事件响应示例
Sep 17 Javascript
js获取地址栏中传递的参数(两种方法)
Feb 08 Javascript
Vue2组件tree实现无限级树形菜单
Mar 29 Javascript
详解Vue中状态管理Vuex
May 11 Javascript
vue.draggable实现表格拖拽排序效果
Dec 01 Javascript
vue中get请求如何传递数组参数的方法示例
Nov 08 Javascript
js实现单元格拖拽效果
Feb 10 Javascript
JS+CSS实现炫酷光感效果
Sep 05 Javascript
JS实现移动端按首字母检索城市列表附源码下载
Jul 05 #Javascript
webpack教程之webpack.config.js配置文件
Jul 05 #Javascript
webstorm添加vue.js支持的方法教程
Jul 05 #Javascript
vue.js实现刷新当前页面的方法教程
Jul 05 #Javascript
vue router2.0二级路由的简单使用
Jul 05 #Javascript
详解使用Node.js 将txt文件转为Excel文件
Jul 05 #Javascript
AngularJS实现进度条功能示例
Jul 05 #Javascript
You might like
PHP详解ASCII码对照表与字符转换
2011/12/05 PHP
php 发送带附件邮件示例
2014/01/23 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
session 加入redis的实现代码
2016/07/15 PHP
浅谈laravel中的关联查询with的问题
2019/10/10 PHP
用js实现控制内容的向上向下滚动效果
2007/06/26 Javascript
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
javascript getElementsByTagName
2011/01/31 Javascript
循环 vs 递归浅谈
2013/02/28 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
2017/11/22 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
2018/07/24 Javascript
在小程序中使用canvas的方法示例
2018/09/17 Javascript
jQuery 查找元素操作实例小结
2019/10/02 jQuery
纯python实现机器学习之kNN算法示例
2018/03/01 Python
python for和else语句趣谈
2019/07/02 Python
Python定时发送天气预报邮件代码实例
2019/09/09 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
基于python模拟TCP3次握手连接及发送数据
2020/11/06 Python
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
Three Graces London官网:英国奢侈品牌
2021/03/18 全球购物
介绍一下Java的事务处理
2012/12/07 面试题
会计工作心得体会
2014/01/13 职场文书
另类冲刺标语
2014/06/24 职场文书
国际商务英语专业求职信
2014/07/08 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
检讨书格式范文
2015/05/07 职场文书
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL