angularjs动态侧边栏菜单_Angular – 单击菜单项后隐藏侧边栏菜单

我创建了一个侧边栏菜单,但是在点击菜单项后我无法隐藏菜单.我按照

https://blog.thecodecampus.de/angular-2-animate-creating-sliding-side-navigation/的例子

我是否需要从html上调用(点击)每个超链接的toggleMenu?如果是,如何从另一个组件调用app.component.ts中的方法?

需要帮助请…

我正在使用Angular 4和bootstrap 4.

这是我的代码:

app.component.html:

toggle menu

navigation.component.mobile.html:

Home

Alert

Configuration

app.component.ts:

@Component({

selector: 'app-root',

templateUrl: './' + (window.innerWidth > 745 ?

'app.component.html' :

'app.component.mobile.html'),

styleUrls: ['./app.component.css'],

animations: [

trigger('slideInOut', [

state('in', style({

transform: 'translate3d(0, 0, 0)'

})),

state('out', style({

transform: 'translate3d(100%, 0, 0)'

})),

transition('in => out', animate('400ms ease-in-out')),

transition('out => in', animate('400ms ease-in-out'))

]),

]

})

toggleMenu() {

// 1-line if statement that toggles the value:

this.menuState = this.menuState === 'out' ? 'in' : 'out';

}

IBDBr.png

更新:

我试着调用toggleMenu().它正在工作,但页面再次加载.之前它曾经像AJAX调用(快速),但现在它就像是第一次加载新页面.所以我需要帮助,如何在http://parlaybuddy.razartech.com/no-auth完成它

navigation.component.ts

toggleMenu() {

this.toggleMenu();

}

HTML:

解:

正如Santosh所提到的,我在app.component.ts中添加了以下代码,它按预期工作.谢谢Santosh

constructor(private http: Http,

private router: Router,

public zone: NgZone) {

router.events.subscribe( (event: Event) => {

if (event instanceof NavigationStart) {

this.menuState = 'out';

}

if (event instanceof NavigationEnd) {

// Hide loading indicator

}

if (event instanceof NavigationError) {

// Hide loading indicator

// Present error to user

console.log(event.error);

}

});

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值