Skip to content Skip to sidebar Skip to footer

Angular 2 - Restrict Component To Specific Parent Component

Is is possible in Angular 2 to restrict a Component only to a specific parent element on a page. In other words, only allow a Component on a page if a certain parent element exists

Solution 1:

Something like that should do the trick.

Parent component :

@Component({
  selector: 'parent',
  template: '<ng-content></ng-content>'
})

export class ParentComponent {

}

Child component :

@Component({
  selector: 'child',
  template: ''
})
export class ChildComponent {
  constructor(parent: ParentComponent){
    // will throw a no provider error if parent is not set
  }
}

then you can use your components like you want:

<parent><child></child></parent><!-- works --><child></child><!-- fails -->

Note that when you inject the parent in the child, the child can actually be the grand-child without throwing an error.

Post a Comment for "Angular 2 - Restrict Component To Specific Parent Component"