2016-11-15 56 views
1

我建立一个动态的形式跟随cookbook documentation指令选择器不匹配动态的(结合的)类名或属性

此外,我有选择input[type=signature]一个指令。

如果我在dynamic-form-question.component.ts使用:

<input *ngSwitchCase="'signature'" 
      [id]="question.attribs.name" 
      [formControlName]="question.attribs.name" 
      type="signature" 
      class="signature" /> 

我的指令相匹配。

但是,如果我用

<input *ngSwitchDefault 
      class="form-control" 
      [formControlName]="question.attribs.name" 
      [id]="question.attribs.name" 
      [ngClass]="question.attribs.class" 
      [placeholder]="question.attribs.placeholder" 
      [type]="question.attribs.type" /> 

其中type.attribute被绑定,就没有骰子。

同样,我尝试了选择器input.signatureinput.signature, input[type=signature],但如果绑定了类或类型属性,它们也不起作用。

这是不支持的,我需要做别的事情来获得这个功能吗?

+0

@jonrsharpe感谢编辑喜欢解释! –

回答

1

指令选择器必须是静态元素名称,属性或类。 他们需要静态添加组件模板。 Angular2不考虑以任何方式动态添加的所有内容。

我所知道的唯一的解决方法是在运行时创建组件(静态元素的名称,属性或类)为能与他们创建的指令和管道 - 在Equivalent of $compile in Angular 2