首页 > 其他分享 >vue3学习之tabler组件Layout布局

vue3学习之tabler组件Layout布局

时间:2023-04-19 21:45:29浏览次数:54  
标签:tabler ... vue Layout AppFooter AppLayout vue3 import

上一篇使用的bootstrap-vue-next项目迭代很快,考虑还未发文档和正式版本(自己菜)改用原生bootstrap模板tabler项目。

tabler

安装运行

不想安装可直接打开tabler\demo目录下html文件浏览查看效果

#获取后目录下运行
npm install
#需要先安装https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.6-1/rubyinstaller-devkit-2.7.6-1-x64.exe
bundler install
#启动
npm run start-plugins

布局草图

先来个草图,做一个类似这样的布局

使用Tabler布局

main.ts添加tabler

import './assets/tabler.css'
import './assets/tabler.js'

src/components目录下添加

AppLayout.vue

<script setup lang="ts">
import AppHeader from './AppHeader.vue'
import AppPageWrapper from './AppPageWrapper.vue'
</script>

<template>
<div class="page">
    <AppHeader/>
    <AppPageWrapper/>
</div>
</template>

<style scoped lang="scss">
</style>

AppHeader.vue

<script setup lang="ts">
</script>

<template>
      <!-- Navbar -->
      <div class="sticky-top">
        <header class="navbar navbar-expand-md navbar-light sticky-top d-print-none">
          <div class="container-xl">
            ...
          </div>
        </header>
        
        <header class="navbar-expand-md">
          <div class="collapse navbar-collapse" id="navbar-menu">
            ...
          </div>
        </header>
      </div>
</template>

<style scoped lang="scss">
</style>

AppPageWrapper.vue

<script setup lang="ts">
import AppFooter from './AppFooter.vue'
</script>

<template>
 <div class="page-wrapper">
  <!-- carousel -->
    <div style="height:200px">
      <div id="carousel-indicators" class="carousel slide" data-bs-ride="carousel">
        ...
      </div>
    </div>
    <!-- Page body -->
    <div class="page-body">
        <div class="container">
            <div class="row row-deck row-cards">
                <div class="col-md-12 col-lg-8">
                  ...
                </div>
                <div class="col-md-6 col-lg-4">
                  ...
                </div>
            </div>
        </div>
    </div>
    <AppFooter/>
</div>
</template>

<style scoped lang="scss">
</style>

AppFooter.vue

<script setup lang="ts">
</script>

<template>
  <footer class="footer footer-transparent d-print-none">
    <div class="container-xl">
      ...
    </div>
  </footer>
</template>

<style scoped lang="scss">
</style>

修改router/index.ts

import AppLayout from '@/components/layout/AppLayout.vue'
//....
  routes: [
    {
      path: '/',
      name: 'home',
      component: AppLayout
    },
//....

运行效果

标签:tabler,...,vue,Layout,AppFooter,AppLayout,vue3,import
From: https://www.cnblogs.com/ddrsql/p/17334736.html

相关文章

  • Vue3 watch监视数据
    watch监视ref定义的数据视频watch监视reactive定义的数据视频2.watch函数与Vue2.x中watch配置功能一致两个小“坑”:监视reactive定义的响应式数据时:oldValue无法正确获取、强制开启了深度监视(deep配置失效)。监视reactive定义的响应式数据中某个属性时:deep配置有效。/......
  • vue3微信公众号商城项目实战系列(9)购物车页面
    本篇显示购物车中的商品,购物车表结构如下,我们通过接口服务抓取登录用户的购物车信息。表名字段功能shoppingcartcart_id(int)购物车编号user_id(int)用户编号goods_id(int)商品编号goods_name(varchar)商品名称photo(varchar)商品图片price(decimal)......
  • Vue3 computed计算属性
    视频7.计算属性与监视1.computed函数与Vue2.x中computed配置功能一致写法import{computed}from'vue'setup(){... //计算属性——简写letfullName=computed(()=>{returnperson.firstName+'-'+person.lastName})//计算属性——......
  • vue3微信公众号商城项目实战系列(8)商品展示页面
    本篇实现在首页展示商品功能,表结构如下:表名字段功能goodsgoods_id(int)商品编号goods_name(varchar)商品名称photo(varchar)商品图片price(decimal)价格商品表页面呈现效果如下: 第1步:在api.js中加入获取首页商品信息和加购物车的接口方法,如下......
  • 如何在 vue3 中使用 jsx/tsx?
    我们都知道,通常情况下我们使用vue大多都是用的SFC(SignleFileComponent)单文件组件模式,即一个组件就是一个文件,但其实Vue也是支持使用JSX来编写组件的。这里不讨论SFC和JSX的好坏,这个仁者见仁智者见智。本篇文章旨在带领大家快速了解和使用Vue中的JSX语法,好......
  • vue3+vite+ts搭建一个基于cesium的gis系统
    使用NPM:bash$npmcreatevite@latest使用Yarn:bash$yarncreatevite使用PNPM:bash$pnpmcreatevite附加的命令行选项#npm6.xnpmcreatevite@latestmy-vue-app--templatevue#npm7+,extradouble-dashisneeded:npmcreatevite@latestmy-vue-a......
  • vue全家桶进阶之路37:Vue3 状态管理
    Vue3的状态管理主要是通过Vuex4来实现。Vuex是一个专为Vue.js应用程序开发的状态管理模式,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。在Vue3的状态管理中,以下是各个属性的作用:state:存储应用程序中的状态数据。它可以......
  • Vue3移动端适配解决方案
    导读:使用vw和vh解决适配问题vw:viewwidth屏幕宽度,1vw等于屏幕宽度的百分之一vh:viewheight屏幕高度,1vh等于屏幕高度的百分之一使用插件postcss-px-to-viewport可以自动将px转换为vw/vh安装npmipostcss-px-to-viewport-Dvite.config.tsimportvuefrom'@vitejs/plugin......
  • vue全家桶进阶之路37:Vue3 路由守卫
    在Vue.js3.x中,我们可以使用路由守卫来拦截路由的跳转,从而实现一些功能,例如:登录验证、页面权限控制等。Vue.js3.x中的路由守卫和Vue.js2.x中的基本相同,都包含了beforeEach、beforeResolve和afterEach等钩子函数。下面是一些常见的路由守卫用法示例:beforeEachbefo......
  • vue3微信公众号商城项目实战系列(7)自定义底部tabbar组件
    在开始之前,先看看官方对组件的定义: vue3的生态非常丰富,有各种各样的开源组件库可以拿来就用,比如vant、element-ui等,本系列不使用任何第3方组件,完全使用原生的语法来写,只为聚焦vue3技术本身,本篇写一个自定义tabbar组件,效果如下图所示:要实现如下功能:1.底部tab项固定3个:首页......