Angular 角度2表格-在子组件级别分配控制

Angular 角度2表格-在子组件级别分配控制,angular,angular2-forms,Angular,Angular2 Forms,以角度2的形式, 试图通过ngSubmit获取数据。 我可以在表单组件中毫无问题地分配ngModel和ngControl属性,但是在子组件MyInput中,如果没有“无提供程序错误”,我无法分配ngControl。 这里是普朗克 是否需要将表单中的某些内容传递给子组件?在ngControl绑定/执行时道具不可用不是问题吗。。。如果您在组件中提供了一个默认控件,然后从ngOnChange中的props引用该控件,该控件将在props真正可用时执行。使用此方法更新:,父表单无法根据子组件的有效性立即

以角度2的形式, 试图通过ngSubmit获取数据。 我可以在表单组件中毫无问题地分配ngModel和ngControl属性,但是在子组件MyInput中,如果没有“无提供程序错误”,我无法分配ngControl。 这里是普朗克


是否需要将表单中的某些内容传递给子组件?

在ngControl绑定/执行时道具不可用不是问题吗。。。如果您在组件中提供了一个默认控件,然后从
ngOnChange
中的
props
引用该控件,该控件将在props真正可用时执行。

使用此方法更新:,父表单无法根据子组件的有效性立即确定其有效性

作为一种解决方法,您可以尝试将子组件包装到其自己的表单元素中

@Component({
  selector: 'my-input',
  directives: [FORM_DIRECTIVES],
  template: ` 
      <form> <--------------
        <input type='text'
          [(ngModel)]="props.Value"
          [ngControl]="props.id"  />
      </form>
@组件({
选择器:“我的输入”,
指令:[形式指令],
模板:`

你找到解决方法了吗?我正试图做完全相同的事情!它可能是一个bug
[ngControl]=“props?.id”
应该分配
null
,直到
props
得到一个值。Angular 2表达式解析器支持
elvis
操作符吗?是的,它是。在双向速记语法中不起作用
[(xxx)]=“yyy?.zzz”
。可能很明显,但可以肯定的是……这是一个非常有用的功能,我不知道,谢谢:)
@Component({
selector: 'my-input',
directives: [FORM_DIRECTIVES],
template: ` 
            <input type='text'
              [(ngModel)]="props.Value"
 [ngControl]="props.id"  
@Component({
  selector: 'my-input',
  directives: [FORM_DIRECTIVES],
  template: ` 
      <form> <--------------
        <input type='text'
          [(ngModel)]="props.Value"
          [ngControl]="props.id"  />
      </form>