当前位置: 首页 > news >正文

Nuxt - 自定义页面布局,<Nuxt /> 个性化多套模板(一个项目内既要有用户正常浏览的普通页面,又要存在后台管理系统布局的页面)

前言

使用 Nuxt.js 开发项目时,遇到了带 “后台管理” 的功能,即一个正常供用户浏览的页面,点击控制台或个人中心进入后台管理界面,里面为菜单和主体内容的左右布局,点击菜单跳转路由,右侧主体内容随之更新,具体如下图所示。

本文将给您从 0-1 提供解决方案,您只需要按照步骤进行即可实现。


像 Vue.js 纯后台管理系统,咱们可以通过 layout 提前做好后台管理的布局,通过 <router-view/> 实现,

但是来到了 Nuxt.js 项目中,有些朋友就懵了,

既要给到用户正常的布局页面,又要给到后台管理的布局页面,感觉根本无法下手。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

该问题的解决方案,其实就是自定义两套模板,用户正常浏览的页面使用一套,后台管理使用另一套。

第一步

该默认模板,就是给 用户正常浏览的页面 使用的。

在项目根目录新建 layouts 文件夹,

然后在里面建立一个 default.vue 文件,写入下代码:

<template>
    <Nuxt />
</template>

在这里插入图片描述

第二步

该模板,就是给 后台管理界面 使用的。

在刚才建立的 layouts 文件夹内,继续新建 admin.vue 文件,写入以下代码:

<!-- 这块跟正常的vue页面一样,能引组件,能写函数,能写样式等等 -->
<!-- 所以说有什么需求直接在这里做就行了 -->
<!-- <Nuxt /> 就相当于vue里面的 <router-view>,页面是啥里面就是啥 -->

<template>
	<section>
		<!-- 左侧内容 -->
		<div>
			左侧菜单
		</div>
		<!-- END -->
		
		<!-- 右侧内容 -->
		<div>
			<Nuxt />
		</div>
		<!-- END -->
	</section>
</template>

<script>
// 建议通过组件的形式,完成左右的菜单和内容
export default {
	components: {},
	data() {
		return {}
	}
}
</script>

<style scoped>
/* 自己写一下左右布局的css代码 */
</style>

第三步

2 套模板建立好了,您最后引用即可。

您需要新建一个后台管理页面,参考以下代码:

 <template>
  <div>
    <h1>后台管理系统 - 主页</h1>
  </div>
</template>

<script>
export default {
  
  // 【重点】通过该配置指定模板,用咱们建立好的即可
  // 配置好后,就会按照咱们的后台管理模板渲染页面
  layout: 'admin',
  data() {
    return {
      
    }
  },
}
</script>

<style scoped> 

</style>

最终,就是这样的对应关系,<Nuxt /> 就是您的页面。

在这里插入图片描述

写在后面

以后每建立一个 后台管理相关 的页面,注意必须加入 layout: 'admin',来指定使用该模板。

可能对您有帮助:https://blog.csdn.net/minihuabei/article/details/117822288

SEO

Nuxt - 自定义页面布局,Nuxt / 个性化多套模板(一个项目内既要有用户正常浏览的普通页面,又要存在后台管理系统布局的页面)nuxt.js 自定义layouts后台管理系统左右侧布局模板项目中有后台管理,router-view 和 Nuxt /视图怎么实现多套模板选择性使用怎么做后台管理系统页面类似vue.js的router-view 自定义布局特性项目内含有普通页面与后台管理页面怎么办页面整体结构解决

相关文章:

  • java毕业设计拉萨旅游自助民宿平台mybatis+源码+调试部署+系统+数据库+lw
  • 微信公众号查题搜题功能系统平台
  • 王道计算机组成原理课本课后习题错题总结
  • cefsharp 最新稳定版104.4.240 (chromium-104.0.5112.102)
  • Unity开发3
  • spark(day02)
  • 【我不熟悉的css】05. csc中使用变量,:root伪元素的应用
  • 03.2 线性回归的从零开始实现
  • js深复制一个数组
  • 03.3线性回归的简洁实现
  • 基于51单片机简易十字路口交通灯_5s全黄闪烁
  • 高并发、高性能、高可用的理解及处理方式
  • Faster R-CNN
  • AndroidSDK开发6我用kotlin写了一个简单sdk
  • Linux设置定时任务
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【EOS】Cleos基础
  • DataBase in Android
  • JavaScript HTML DOM
  • JavaScript函数式编程(一)
  • MYSQL 的 IF 函数
  • Sequelize 中文文档 v4 - Getting started - 入门
  • webpack项目中使用grunt监听文件变动自动打包编译
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 入门到放弃node系列之Hello Word篇
  • 十年未变!安全,谁之责?(下)
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 源码安装memcached和php memcache扩展
  • 找一份好的前端工作,起点很重要
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​插件化DPI在商用WIFI中的价值
  • #Z0458. 树的中心2
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (06)Hive——正则表达式
  • (4.10~4.16)
  • (C++17) std算法之执行策略 execution
  • (pojstep1.1.2)2654(直叙式模拟)
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (力扣)循环队列的实现与详解(C语言)
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET Framework杂记
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET/C# 使用反射注册事件
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [20170713] 无法访问SQL Server
  • [AutoSar]BSW_OS 02 Autosar OS_STACK
  • [Codeforces] probabilities (R1600) Part.1
  • [COI2007] Sabor
  • [C语言]一维数组二维数组的大小
  • [EFI]Acer Aspire A515-54g电脑 Hackintosh 黑苹果efi引导文件
  • [EFI]Dell Inspiron 15 5567 电脑 Hackintosh 黑苹果efi引导文件
  • [ERROR]-Error: failure: repodata/filelists.xml.gz from addons: [Errno 256] No more mirrors to try.
  • [iphone-cocos2d]关于Loading的若干处理和讨论