组件之间的角度2通信



我使用 Angular2 搜索组件之间的通信,我尝试在此模式下但

不起作用

模板变体页面.组件.html内容

<button (click)="changetext()">Change</button> 
<child></child>

@Component({
  selector: 'menu-left',
  templateUrl: './app/pages/variantpages.component.html'
})
export class AppComponent{

child = new ChildComponent();

 changetext(){ this.child.changetext2()}
}
@Component({
   selector: 'child',
   template: `<p>page of {{ pageCount }}</p>`
})
export class ChildComponent{
@Input() photo:string = "ciao ciao";
@Output() valueChange = new EventEmitter();

pageCount:number;
constructor(){ this.pageCount = 0; }
changetext2(){
        this.pageCount++;
        this.valueChange.emit(this.pageCount);
        console.log(this.pageCount);
  }
}

所以控制台日志显示增量号,但页面计数保持 0

谢谢

好的,

我用 EventEmitter 解决了这个问题,但这只适用于父级和子级,现在我的问题就不同了,如果我有两个不同的组件,并且我想用组件 A 中的一个按钮(单击(更改组件 B 中的字符串,我调用此方法 setName

组件 A

constructor(private appComponent: AppComponent ){ }
setName(newName: string) {
        this.appComponent.name = newName;
        console.log(this.name);
      }

构成部分B

@Input() name: string = "Angular3"

控制台显示新字符串,但名称不会更改

相关内容

  • 没有找到相关文章

最新更新