zoukankan      html  css  js  c++  java
  • 使用vue-admin 构建手机端应用

    vue-admin是一款比较常用的vue开源项目,下面是根据自己的需求使其增加mobile 的ui

    1.我使用的是vue-admin-template来进行修改的,因为相对的饿了么的组件较少好修改一些,下面是下载项目

    git clone https://github.com/PanJiaChen/vue-admin-template.git

    2.然后是选择自己需要的mobile ui,这里我选的是有赞的vant,下面是官网地址

    https://youzan.github.io/vant/#/zh-CN/intro

    3.引入vant

    找到babel.conf.js文件,增加vant

    module.exports = {
      presets: [
        '@vue/app'
      ],
      plugins: [
        ['import', {
          libraryName: 'vant',
          libraryDirectory: 'es',
          style: true
        }, 'vant']
      ]
    }

    运行:

    yarn add vant

    3.修改layout模块

    原来的模块是针对web端的element-ui,现在使用vant:效果图如下:

    下面是具体的实现:

    修改layout

    首先修改header,将原有的面包屑去除,修改的地方是layout模块下的components下的Navbar.vue

    <template>
      <div class="navbar">
        <van-nav-bar
          title="标题"
          left-text="返回"
          left-arrow
          @click-left="onClickLeft"
          fixed=true
        />
      </div>
    </template>

    增加返回的方法

    onClickLeft() {
          this.$router.go(-1)
    }

    并在main.js中引入需要的组件,完成后的

    完成的部分是

    注意因为原有的样式可能会出现双分割线的问题,注释Navbar.vue里的这句css

     /*box-shadow: 0 1px 4px rgba(0,21,41,.08);*/

    增加底部导航栏:

    在layout模块下的index.vue下增加导航栏代码

    <template>
      <div :class="classObj" class="app-wrapper">
        <div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside" />
        <sidebar class="sidebar-container" />
        <div class="main-container">
          <div :class="{'fixed-header':fixedHeader}">
            <navbar />
          </div>
          <app-main />
        </div>
        <div>
          <van-tabbar v-model="active">
            <van-tabbar-item icon="home-o" @click="goHome">首页</van-tabbar-item>
            <van-tabbar-item icon="search" @click="showMenus">菜单</van-tabbar-item>
            <van-tabbar-item icon="setting-o" @click="setting">个人中心</van-tabbar-item>
          </van-tabbar>
        </div>
      </div>
    </template>

    同时增加切换选项卡,进行路由的改变

    methods: {
    //点击空白收缩侧边栏
        handleClickOutside() {
          this.$store.dispatch('app/closeSideBar', { withoutAnimation: false })
        },
    //跳出侧边栏菜单
        showMenus() {
          this.$store.dispatch('app/toggleSideBar')
        },
    //跳转个人中心
        setting() {
          this.$router.push({ path: '/setting' })
        },
    //跳转首页
        goHome() {
          this.$router.push({ path: '/' })
        }
      }

    修改完layout以后基本上后续的功能就是使用mobile -ui来开发app单页了

  • 相关阅读:
    ReactNative: 使用分组列表组件SectionList组件
    ReactNative: 使用刷新组件RefreshControl组件
    ReactNative: 使用开关组件Switch组件
    ReactNative: 使用滑块组件Slider组件
    ReactNative: 使用分段组件SegmentedControlIOS组件
    ReactNative: 使用进度条组件ProgressViewIOS组件
    Swift语言实战晋级
    《Swift开发指南》
    《数据结构与算法JavaScript描述》
    《ASP.NET MVC 5 框架揭秘》
  • 原文地址:https://www.cnblogs.com/callmelx/p/11487932.html
Copyright © 2011-2022 走看看