Meanmenu用角度7刷新页面,而不是通常的路线

时间:2019-04-07 00:46:13

标签: typescript angular7

我在我的角度应用程序中使用了meanmenu,但工作正常,但问题是,当我尝试从页面路由到另一个页面时,就像我使用href="path"而不是routerlink一样,因此页面刷新了

这就是我在HTML中使用它的方式

                   <!-- Main Menu Start -->
                   <div class="main-menu">
                       <nav>
                           <ul>
                               <li routerLinkActive="active"><a routerLink="/home">HOME</a></li>
                               <li class="menu-item-has-children"><a>Shop</a>
                                   <ul class="sub-menu">
                                       <li class="menu-item-has-children" routerLinkActive="active"><a
                                               routerLink="/product">Categories</a>
                                           <ul class="sub-menu">
                                               <li routerLinkActive="active" *ngFor="let category of categories">
                                                   <a [routerLink]="['/product/'+[category.name]]">{{category.name}}</a>
                                               </li>
                                           </ul>
                                       </li>
                                   </ul>
                               </li>

                               <li><a href="#">CONTACT</a></li>
                           </ul>
                       </nav>
                   </div><!-- Main Menu End -->
               </div>
               <div class="mobile-menu order-12 d-block d-lg-none col"></div>

这是我的Jquery

$(document).ready(() => {
            $('.main-menu nav').meanmenu({
                meanScreenWidth: '991',
                meanMenuContainer: '.mobile-menu',
                meanMenuClose: '<span class="menu-close"></span>',
                meanMenuOpen: '<span class="menu-bar"></span>',
                meanRevealPosition: 'right',
                meanMenuCloseSize: '0',
            });
        });

1 个答案:

答案 0 :(得分:0)

发生这种情况的原因是,MeanMenu复制了目标的HTML内容并将其插入到nav.mean-nav元素中。选中未缩小版本的showMeanMenu函数。

代替

var meanMenuContents = jQuery(meanMenu).html();
jQuery('.mean-nav').html(meanMenuContents);

使用

jQuery(meanMenu).detach().appendTo('.mean-nav');

注意:

  • 您还需要在选项中将onePage属性设置为true,以使菜单在导航到新组件时自动折叠。
  • 如果您希望在页面加载后更改布局,还需要修改meanOriginal函数。

对于我来说,我必须将以下几行添加到meanOriginal函数中

jQuery(meanMenu).detach().appendTo('#original-nav');
jQuery('.sub-menu').css('display', 'block');
jQuery('.mean-expand').remove();