angualr4+adminLte写的后台,路由跳转后菜单无法展开
这样的一个菜单,点击展开收起,动画效果是adminLte也就是bootstrap配合jq做出来的。
现在的问题是从登录页跳转到主页后这个动画不执行。但是刷新一下就可以,或者直接打开主页也可以执行,唯独从登录页跳转过来后不执行。
下面是我的路由配置
直接打开 http://localhost:4200/#/home/ 没有问题
从 http://localhost:4200/#/login/ 跳转到home就会发生不执行的情况。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
今天刚好遇到这个问题看了一下
adminlte
源码,对于v3.0.1
版本是第849行-853行adminlte
会在$(window).on('load.lte.treeview')
的时候执行左边菜单初始化。当页面初始路由是
/login
,此时左侧菜单的dom还没有加载,$(Selector.DATA_WIDGET)
是拿不到菜单的,这个时候adminlte
认为这个页面没有用到左侧菜单模块。当路由跳转到/
,这个时候左侧菜单挂载到dom,但是adminlte
不会再次触发$(window).on('load.lte.treeview')
。结论就是如果
window.onload
的时候左侧菜单已挂载,那么问题不大;反正就需要手动去触发
window
监听的load.lte.treeview
事件。gularJS
解决方案Vue
解决方案React
解决方案你这个动画的执行可能是根据页面是否已经加载完成判断的,找到这个判断修改一下
你这个动画是在什么时候触发的? ngOnInit(), ngAfterViewInit() ?
你是怎么解决的
我也有同样的问题