从一个组件到另一个组件的通信 Angular 5.



我有两个组件,一个导航组件和一个细节组件。在我的导航组件中,我有一些用户可以选择的选项或项目。当用户选择一个时,我正在尝试详细更新砖石网格。我能够更新砖石网格,但我需要调用一个方法 prepended((。例如:

详细代码组件:

  import Masonry from 'masonry-layout';
  // on ngOnInit
  let grid = document.querySelector('.grid');
  let msnry = new Masonry( grid, {
    itemSelector: '.grid-item',
  });

我需要从我的导航组件调用以下内容:

msnry.prepended();

如何从另一个组件调用 msnry.prepended((?任何协助将不胜感激。

如果它们具有父子关系,则可以使用模板引用变量技术从父组件调用子组件的方法。例如,假设以下div 是您导航组件模板,

<div>
    <detail-component #detailComponent></detail-component>
    <button (click)="detailComponent.sayHello()"/>
</div>

考虑到您的细节组件有一个名为 sayHello() 的方法。单击导航组件上的按钮将调用该方法。

希望对您有所帮助。

最新更新