Element UI实战教程之Link链接组件以及Layout布局组件和Container容器组件02

本文详细介绍了ElementUI中的Link文字链接组件及其属性用法,包括不同类型的链接和自定义样式。同时,文章深入讲解了Layout布局组件的使用,包括24分栏栅格系统以及Row和Col的属性应用,展示了如何创建灵活的页面布局。此外,还探讨了Container容器组件的使用,如Header、Aside、Main和Footer的组合,以及通过direction属性设置容器方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Element UI实战教程之Link链接组件以及Layout布局组件和Container容器组件02

Link文字链接组件

1.文字链接组件的创建

  <el-link>默认文字链接</el-link>

2.文字链接组件的属性的使用

 <el-link type="success" href="http://www.baidu.com">默认文字链接</el-link>
 <el-link type="primary" :underline="false">默认文字链接</el-link>

Layout(栅格)布局组件的使用

通过基础的24分栏,迅速简便的创建布局

在element-ui中布局组件将页面划分为多个行row,每行最多分为24栏

使用Layout组件

<el-row>
  <el-col :span="8">占用8份</el-col>
  <el-col :span="8">占用8份</el-col>
  <el-col :span="8">占用8份</el-col>
</el-row>

注意:属性值为非字符串类型时需要进行数据绑定在属性前加上":"

 

Layout属性的使用

行属性的使用

 

<el-row>
  <el-col :span="4"><div style="border: 1px red solid">占用4份</div></el-col>
  <el-col :span="4"><div style="border: 1px red solid">占用4份</div></el-col>
  <el-col :span="4"><div style="border: 1px red solid">占用4份</div></el-col>
  <el-col :span="4"><div style="border: 1px red solid">占用4份</div></el-col>
  <el-col :span="4"><div style="border: 1px red solid">占用4份</div></el-col>
  <el-col :span="4"><div style="border: 1px red solid">占用4份</div></el-col>
</el-row>

列属性的使用

<el-row>
  <el-col :span="8" :offset="4" :push="3"><div style="border: 1px red solid">占用8份</div></el-col>
  <el-col :span="8"><div style="border: 1px red solid">占用8份</div></el-col>
  <el-col :span="8"><div style="border: 1px red solid">占用8份</div></el-col>
</el-row>

 

 

 

Container布局容器组件

创建布局容器(外层容器)

<el-container>
    
</el-container>

容器中包含的子元素

<el-header>:顶栏容器。
​
<el-aside>:侧边栏容器。
​
<el-main>:主要区域容器。
​
<el-footer>:底栏容器。
组件嵌套使用
<el-container>
      <!--头部-->
      <el-header><div style="border: 1px red solid"><h1>我是标题</h1></div></el-header>
    </el-container>
      <el-container>
      <!--左侧头部-->
      <el-aside><div style="border: 1px red solid"><h1>我是菜单</h1></div></el-aside>
      <el-main><div style="border: 1px red solid"><h1>我是中心内容</h1></div></el-main>
​
    </el-container>
      <el-footer><div style="border: 1px red solid"><h1>我是页脚</h1></div></el-footer>

可以通过direction属性设置容器为水平容器或者垂直容器

 

 

 

 

 

<think>好的,用户的问题是关于如何用Vue.jsElement UI实现动态路由导航栏布局,使得点击导航栏时自动渲染对应的.vue文件内容。首先,我需要确认用户的主要需求:他们希望导航栏点击后动态加载子页面内容,而无需单独的方法来加载这些内容。这意味着需要利用Vue Router的动态路由功能,结合Element UI的导航组件来实现。 接下来,我需要考虑Vue Router的动态路由配置。通常,动态路由可以通过在路由定义中使用路径参数,或者通过编程式导航来实现。但用户提到的是根据导航栏点击加载不同的.vue文件,这可能需要预先定义所有可能的路由,或者使用异步组件加载。不过,用户可能希望根据导航栏的配置动态添加路由,这涉及到Vue Router的addRoute方法。不过,Vue Router的addRoute通常用于动态添加路由,比如在用户登录后根据权限加载不同的路由,这可能符合用户的需求。 然后,Element UI的导航栏组件,比如el-menu,需要设置router属性为true,这样点击菜单项时会自动根据index属性进行路由跳转。因此,菜单项的index应该对应路由的路径。例如,如果有一个路由路径为'/home',那么菜单项的index应该是'/home',这样点击时会导航到该路径。 接下来,需要考虑如何组织路由配置。用户可能希望将路由信息与导航栏的菜单项配置关联起来,这样在添加新的页面时,只需要在路由配置中添加相应的条目,导航栏就会自动生成对应的菜单项。这可能需要在路由配置中添加meta字段,包含菜单的标题、图标等信息。 另外,关于动态加载.vue文件,Vue Router支持异步组件,可以通过import()语法来实现按需加载,这样在访问对应路由时才会加载相应的组件,优化初始加载时间。例如,component: () => import('./views/Home.vue')。 现在,需要将这些部分整合起来。首先,创建路由配置文件,定义所有路由,包括路径、组件元信息。然后,在导航栏组件中,使用el-menu循环遍历路由配置中的需要显示在导航栏的路由,生成菜单项。设置el-menu的router属性为true,并确保每个菜单项的index属性是路由的路径。这样,点击菜单项时,Vue Router会自动导航到对应的路径,并在<router-view>中渲染对应的组件。 还需要注意,可能需要在导航栏组件中根据当前路由高亮对应的菜单项,这可以通过Vue Router的$route对象来实现,el-menu会自动处理这一点,如果index当前路径匹配的话。 最后,确保主组件中包含<router-view>,用于显示子页面内容。这样整个流程就完成了:点击导航栏菜单项,路由变化,对应的组件被加载并渲染到<router-view>的位置。 可能还需要考虑嵌套路由的情况,如果导航栏有二级菜单,但用户的问题中没有提到,所以暂时不需要处理。另外,权限控制可能需要动态添加路由,但用户的问题可能只是基础的路由导航栏集成,所以保持简单。 总结步骤:配置路由,使用Element UI的导航栏绑定路由路径,设置router-view,使用异步组件加载。这样用户就可以通过点击导航栏动态加载对应的.vue文件内容了。</think>根据您的需求,可以按照以下步骤实现动态路由导航栏布局: ### 一、路由配置实现 1. **创建路由配置文件** ```javascript // router/index.js import { createRouter, createWebHistory } from 'vue-router' const routes = [ { path: '/', redirect: '/home' }, { path: '/home', name: 'Home', component: () => import('@/views/Home.vue'), meta: { title: '首页', icon: 'el-icon-house' } }, { path: '/about', name: 'About', component: () => import('@/views/About.vue'), meta: { title: '关于', icon: 'el-icon-info' } } ] const router = createRouter({ history: createWebHistory(), routes }) export default router ``` ### 二、导航栏实现 2. **使用Element UI的菜单组件** ```vue <!-- components/Navbar.vue --> <template> <el-menu :router="true" mode="horizontal" :default-active="$route.path" background-color="#545c64" text-color="#fff" active-text-color="#ffd04b"> <el-menu-item v-for="route in menuRoutes" :key="route.path" :index="route.path" :route="{ path: route.path }"> <i :class="route.meta.icon"></i> {{ route.meta.title }} </el-menu-item> </el-menu> </template> <script> export default { computed: { menuRoutes() { return this.$router.options.routes.filter( route => route.meta && route.meta.showInMenu ) } } } </script> ``` ### 三、主页面布局 3. **创建基础布局组件** ```vue <!-- App.vue --> <template> <div class="layout-container"> <Navbar /> <div class="main-content"> <router-view></router-view> </div> </div> </template> <script> import Navbar from '@/components/Navbar.vue' export default { components: { Navbar } } </script> <style> .layout-container { height: 100vh; display: flex; flex-direction: column; } .main-content { flex: 1; padding: 20px; } </style> ``` ### 四、关键实现原理 1. **动态路由绑定**:通过设置`el-menu`的`router`属性为`true`,菜单项的`index`值设置为路由路径,即可自动实现路由跳转[^1] 2. **组件懒加载**:使用`() => import()`语法实现路由组件的按需加载 3. **路由元信息**:通过`meta`字段携带菜单显示所需的附加信息
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

全干程序员demo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值