vue实现动态树与左侧栏折叠效果

5 篇文章 0 订阅
4 篇文章 0 订阅

今天给大家分享,vue实现动态树的案例。

目录

前台实现

1.顶部组件显示折叠或展示图标

2.实现左侧栏折叠效果

3.显示树形菜单

 4.配置树形菜单路由

注意事项


效果展示

 

前台实现

1.顶部组件显示折叠或展示图标

监听折叠按键的click事件,并将折叠或打开的状态值。

 script模块

export default {
    //定义组件名称
    name:'TopNav',

    data: function() {
      return {
        //默认展示侧边栏
        opened:true,

        //require是node中遵循CommonJS规范的模块化解决方案,支持动态引入
        imgshow: require('../assets/img/show.png'),
        imgsq: require('../assets/img/sq.png')
      }
    }
}

添加方法 

2.实现左侧栏折叠效果

  • TopNav.vue定义监听函数,监听折叠按键的click事件,并将折叠或打开的状态值。
  • 通过自定义事件,将TopNav子组件的opened属性传给Mian父组件
  • Main组件根据状态值设置打开或折叠的样式,并将状态值通过props传递给LeftAside组件 

如果opened为ture就让它隐藏,如果opened为false就让他显示

 

LeftAside.vue组件通过接收到的状态值设置自身的打开或折叠效果。

通过监听属性方式,进行控制状态值 

 

3.显示树形菜单

在src/api/action.js中配置获取动态树数据的请求路径

export default {
	'SERVER': 'http://localhost:8080/', //服务器

	'SYSTEM_USER_DOLOGIN': 'usermsg/login', //登陆

	'SYSTEM_MODULE_REQ': '/meun', //树型菜单


  //获取完整的请求地址
	'getFullPath': (k) => { //获得请求的完整地址,用于mockjs测试时使用
		return this.SERVER + this[k];
	}

}

首页显示使用钩子函数,页面加载进来的时候调用。显示树形菜单

moduleDatas保存后台的树形菜单值,使用双向数据绑定的方式绑定modeleDatas属性

 

 4.配置树形菜单路由

创建book文件,在它的目录下创建BookList页面

在index.js中配置路由 

import BookList from '@/views/book/BookList.vue'
import AddBook from '@/views/book/AddBook.vue'
import Home from '../views/Home.vue'

注意事项

显示二级菜单时, 需要修改LeftAside组件

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值