Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
子组件的Angular2切换菜单_Angular_Angular2 Services_Angular2 Components - Fatal编程技术网

子组件的Angular2切换菜单

子组件的Angular2切换菜单,angular,angular2-services,angular2-components,Angular,Angular2 Services,Angular2 Components,我有angular 2应用程序,安装了jquery和打字 在我的aboutPage组件中,我试图在按钮上应用jquery click事件,这样当按钮被单击时,它就可以使用$(选择器).addClass(“某个类”)将额外的类添加到navbar标记外部about组件 但不幸的是,它不起作用。我已经尝试从子组件发出一个调用,并使用jquery add class函数调用一个toggleMenu()函数从应用组件添加一个类,但是什么也没有发生。就像jquery没有看到DOM一样 编辑1: 关于页面组件

我有angular 2应用程序,安装了jquery和打字

在我的aboutPage组件中,我试图在按钮上应用jquery click事件,这样当按钮被单击时,它就可以使用$(选择器).addClass(“某个类”)将额外的类添加到navbar标记外部about组件

但不幸的是,它不起作用。我已经尝试从子组件发出一个调用,并使用jquery add class函数调用一个toggleMenu()函数从应用组件添加一个类,但是什么也没有发生。就像jquery没有看到DOM一样

编辑1: 关于页面组件:

$("header button.burger").click(function() { 
    this.commonService.notifyOther({option: 'onSubmit', value: 'From header'});
});
private subscription: Subscription;

toggleMenu() {

jQuery("button.burger").addClass("active");
jQuery("nav").addClass("open");
jQuery("header").addClass("menu-open");

}
导航条组件:

$("header button.burger").click(function() { 
    this.commonService.notifyOther({option: 'onSubmit', value: 'From header'});
});
private subscription: Subscription;

toggleMenu() {

jQuery("button.burger").addClass("active");
jQuery("nav").addClass("open");
jQuery("header").addClass("menu-open");

}
ngOnInit(){


注意:除了这一部分,jQuery在应用程序中正常工作。

忘记jQuery。忘记修改DOM。使用Angular,因为它是用来使用的,一切都会更容易。更改组件的状态,并使用它们的模板添加/删除CSS类。使用服务在组件之间进行通信。好的,也许这不是一个好的practices我知道,但目前我需要使用jquery解决它。有什么真正的建议吗?我的水晶球说问题在第42行。但不幸的是,它没有说明是哪个文件。我们无法在不看到它的情况下修复代码。我真的不明白为什么你拒绝用简单正确的方式来做事情,坚持用丑陋的方式来做,但是嘿,哟会有问题的是你,不是我。父组件中是否正确捕获了来自子组件的发射值?父组件是否接收到发射值?是,父组件已接收并正确调用了切换函数,但jquery不应用类