¿Cómo pasar una expresión a un componente como entrada en Angular2?

Necesito pasar una expresión a un componente que será evaluado dentro de la plantilla de un componente.

Por ejemplo, componente:

@Component({ selector: 'app-my-component', ... }) export class MyComponent { @Input items: MyClass; @Input expression: String; ... } 

con la plantilla del componente:

 
{{expression}}

Uso de MyComponent:

   

Como habrá más de una entrada, me gustaría evitar el uso de TemplateRef.

Tal vez una de estas opciones puede ayudarte a:

1) Utilizando la propiedad de entrada ngForTemplate de la directiva NgFor:

Componente

 @Component({ selector: 'app-my-component', template: ` 
` }) export class MyComponent { @Input() items: any; @ContentChild(TemplateRef) itemTemplate: TemplateRef; }

Padre

  [{{item.id}}] {{item.name}}  

Plunker

2) Uso de la directiva NgTemplateOutlet

Componente

 @Component({ selector: 'app-my-component', template: ` 
` }) export class MyComponent { @Input() items: any; @ContentChild(TemplateRef) itemTemplate: TemplateRef; }

El padre sigue siendo el mismo:

  [{{item.id}}] {{item.name}}  

Plunker

De esta manera, dentro de ... puedes usar la expresión deseada