zoukankan      html  css  js  c++  java
  • 动态头部-vue

    h5项目中,经常用到的头部是样式是一致的,只是左右按钮和中间标题会不一致。

    vue主打组件化,为了减少代码冗余,可以将头部提取成一个单独的组件。接下来考虑是否需要左右按钮,是否固定在页面上不动,中间标题是否为动态。

    先写一个简单的头部,position设置成变量customFixed。左右按钮通过<slot>来控制。中间标题设置成变量customTitle通过父子组件传值过来。

    设置好样式以后给customFixed和customTitle默认值和类型。

    <template>
        <div id="header" :style="{'position' : customFixed ? 'fixed' : 'absolute'}">
          <slot name="left"></slot>
          {{customTitle}}
          <slot name="right"></slot>
        </div>
    </template>
    
    <script>
        export default {
          name: "my-header",
          props:{
            customTitle : {
                type : String,
                default : '标题'
              },
            customFixed: {
                type: Boolean,
                default: false
            }
          }
        }
    </script>
    
    <style scoped>
    #header{
      width: 100%;height: 40px;background: #666;color: white;text-align: center;line-height: 40px;
      position: absolute;left:0;top: 0;z-index: 10;
    }
      #header button {height: 100%;padding: 0 50px;}
      #header button:nth-of-type(1){float: left}
      #header button:nth-of-type(2){float: right}
    </style>

    在用到头部的地方:

    <template>
      <div id="app">
        <my-header custom-title="通讯录" custom-fixed>
          <button @click="backBtn" slot="left">返回</button>
          <button @click="homeBtn" slot="right">主页</button>
        </my-header>
      </div>
    </template>
    

      

  • 相关阅读:
    红黑树的插入操作详解
    Java实现红黑树
    No-sql之redis常用命令
    如何配置JedisPool的参数
    JedisPool使用注意事项
    2-SAT问题的小结
    BZOJ 2142 礼物 组合数学 CRT 中国剩余定理
    BZOJ 4521 CQOI 2016 手机号码 数位DP
    BZOJ 4380 Myjnie 区间DP
    BZOJ 2754 SCOI 2012 喵星球上的点名 后缀数组 树状数组
  • 原文地址:https://www.cnblogs.com/maoyizhimi/p/9853109.html
Copyright © 2011-2022 走看看