Vue 项目中实现在所有页面固定一个全局对话栏组件

简介: Vue 项目中实现在所有页面固定一个全局对话栏组件
1、创建对话栏组件
<template>
  <el-drawer
    title="我是标题"
    :visible.sync="drawerVisible"
    direction="rtl"
    size="30%"
    :withHeader="true">
    <span>我是全局对话栏内容...</span>  
  </el-drawer>
</template>
<script>
export default {
  data() {
    return {
      drawerVisible: true
    }
  }  
}
</script>
2. 在主应用中全局注册组件
// main.js
import Drawer from './Drawer.vue'
Vue.component('Drawer', Drawer)
3. 在路由的全局前置守卫中动态渲染
// router.js
router.beforeEach((to, from, next) => {
  const app = document.querySelector('#app')
  
  const drawer = document.createRange().createContextualFragment('<Drawer></Drawer>')
  app.appendChild(drawer)
  
  next()
})
  1. 所有页面都会显示对话栏了
<template>
 <div>
   <h1>This is About Page</h1>
 </div>  
</template>
相关文章
|
2天前
|
JavaScript
|
1天前
|
存储 缓存 JavaScript
vue代码优化方案
【7月更文挑战第13天】 **Vue.js 优化要点:** 分解大组件以提高复用性和加载速度;利用计算属性与侦听器优化数据处理;使用Object.freeze()减少响应式数据;借助Vuex或Composition API管理状态;实现虚拟滚动和无限加载提升长列表性能;路由懒加载减少初始加载时间;用Vue DevTools检测性能瓶颈;定期代码审查与重构;应用缓存策略;遵循最佳实践与团队规范,提升应用整体质量。
10 2
|
3天前
|
JavaScript 前端开发
【vue】 el-table解决分页不能筛选全部数据的问题
【vue】 el-table解决分页不能筛选全部数据的问题
15 4
|
3天前
|
JavaScript
【vue】 vue2 监听滚动条滚动事件
【vue】 vue2 监听滚动条滚动事件
10 1
|
JavaScript Java 物联网
现有vue项目seo优化
现有vue项目seo优化
|
JavaScript 前端开发
重读vue电商网站45之项目优化上线
重读vue电商网站45之项目优化上线
108 0
重读vue电商网站45之项目优化上线
|
3天前
|
JavaScript
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
14 6
|
3天前
|
JavaScript 定位技术
【天地图】vue 天地图 T is not defined
【天地图】vue 天地图 T is not defined
14 1
|
9天前
|
数据采集 JavaScript 前端开发
Vue框架的优缺点是什么
【7月更文挑战第5天】 Vue框架:组件化开发利于重用与扩展,响应式数据绑定简化状态管理;学习曲线平缓,生态系统丰富,集成便捷,且具性能优化手段。缺点包括社区规模相对小,类型支持不足(Vue 3.x改善),路由和状态管理需额外配置,SEO支持有限。随着发展,部分缺点正被克服。
19 1
|
3天前
|
JavaScript 前端开发
【vue】 Tinymce 数据 回显问题 | 第一次正常回显后面,显示空白bug不能编辑
【vue】 Tinymce 数据 回显问题 | 第一次正常回显后面,显示空白bug不能编辑
9 0