带有客户组件的父对子组件树

时间:2016-10-14 14:03:51

标签: angular

在Angular 2中,我有一个组件层次结构。但是,在树中,我需要显示另一个与对象层次结构分离的元素。它将是一个旋转器组件。不知怎的,它不想出现。

parent
  • child在模板中包含child
  • grandchild在模板中包含grandchild
  • spinner在模板中不包含ng-content,但想要展示它(它使用child)。或许,在某些时候,<?php $names = $modelbio_names['update_id']; // QUERY THE DATABASE FOR THE MODEL NAMES ON THE [BROWSE VIDEOS] PAGE $browse_modelbio_names = "SELECT updates.update_id, models.model_id, first_name, last_name, updates_models.update_id, updates_models.model_id FROM updates, models, updates_models WHERE updates.update_id = updates_models.update_id AND models.model_id = updates_models.model_id AND updates.update_id = $names"; $browse_modelbio_names_query = mysqli_query($connection, $browse_modelbio_names); // TEST IF THERE WAS A QUERY ERROR if (!$browse_modelbio_names_query) { die("THE QUERY FOR THE MODEL NAMES ON THE [BROWSE VIDEOS] PAGE HAS FAILED."); } ?> 会想要显示微调器。

我如何让它发挥作用?父母是否总是必须指定可能的孩子?让我知道我做错了什么。

The example plunker

1 个答案:

答案 0 :(得分:2)

如果您将<ng-content></ng-content>添加到组件的模板中,则会显示子元素而不是<ng-content></ng-content>

这样您就可以将子组件传递给父级。

@Component({
  selector: 'child'
  template: `<grand-child><ng-content></ng-content></grand-child>`
})
@Component({
  selector: 'grand-child'
  template: `some content before <ng-content></ng-content>some content after`
})

然后你可以像

一样使用它
<child><my-spinner></my-spinnger></child>