从一个组件到另一个组件进行通信5

时间:2018-02-02 06:16:30

标签: javascript angular typescript masonry

我有两个组件,一个导航组件和一个详细信息组件。在我的导航组件中,我有一些用户可以选择的选项或项目。当用户选择一个我试图在细节中更新砌体网格时。我能够更新砌体网格,但我需要调用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()?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

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

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

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

希望它有所帮助。