我有两个组件-一个mainComponent,一个MenuComponent。从MenuComponent,我想更改mainComponent中的变量。]>
import { Injectable, Component, OnInit, NgZone } from '@angular/core'; @Injectable() @Component({ selector: 'app-componentmain', templateUrl: './main.component.html', styleUrls: ['./main.component.css'] }) export class ComponentMainContent { public selectedGroup : any;
在菜单组件中:
import { ComponentMainContent } from '../main/main.component'; @Component({ .. providers: [ComponentMainContent] .. export class MenuListItemComponent implements OnInit { constructor(private ComponentMain: ComponentMainContent, .. showGroup(item: NavItem){ this.ComponentMain.selectedGroup = 'test'; - nothing is happening }
in main component.html:
{{selectedQmgr}}
你能告诉我我在想什么。谢谢!
我有两个组件-一个mainComponent,一个MenuComponent。从MenuComponent,我想更改mainComponent中的变量。从'@ angular / core'导入{Injectable,Component,OnInit,NgZone}; @ ...
我认为有几种方法可以解决此问题。尽管您认为应该可以将父组件注入到子组件中,但是我并没有使用您尝试很多的方法,因此我无法对可能发生的事情发表任何评论。我使用的其他两种方法是:
只需创建一个共享服务,然后将该服务注入组件中,并且您更改该服务的任何属性都会反映到其他组件,因为它是同一服务。