• 动态头部-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>
    

      

  • 相关阅读:
    Blazor实现高级表单功能
    VS2022设计WinForm多目标框架下界面缩放不一致问题
    Blazor自定义Input使用bindValue问题
    .NET6使用HttpContext.Current
    Blazor使用级联值实现Dialog关闭功能
    tomcat服务的原理和使用
    Linux安装nginx并配置ssl自签证书
    Xrdp Debian
    JD&qinglong
    PHP获取启始时间戳
  • 原文地址:https://www.cnblogs.com/maoyizhimi/p/9853109.html
Copyright © 2020-2023  润新知