2

我問的問題:Analogue of Angular 2 ProviderFormControl在角2

但更新的角度來rc.4和@角/形式0.2.0之後,在沒有工作了。模板的

部分:

<form [formGroup]="formGroup"> 
     ... 
     <checkbox-view [formControl]="formGroup.find('rememberMe')">Remember me?</checkbox-view> 
    </form> 

在組件:

this.formGroup = this._fromBuilder.group({ 
    ... 
    rememberMe: [this.model.rememberMe] 
}); 

和錯誤: 沒有價值訪問爲 ''

+0

貌似http://stackoverflow.com/questions/37895474/custom-component-binding-no- value-accessor-for –

+0

@GünterZöchbauer我在PLATFORM_DIRECTIVES上更改了NG_VALUE_ACCESSOR,但沒有幫助 – Illorian

+0

'disableDeprecatedForms()'怎麼辦? –

回答

2

的屬性控制有內部包含所有控件的地圖。

你可以只是這樣做:

<form [formGroup]="formGroup"> 
    ... 
    <checkbox-view [formControl]="formGroup.controls['rememberMe']">Remember me?</checkbox-view> 
</form> 
0
Try using formControlName without the square brackets instead of formControl. 

    <form [formGroup]="formGroup"> 
     ... 
     <checkbox-view formControlName="rememberMe">Remember me? </checkbox-view> 
    </form> 

    If you have nested fields you can also do this.. 

    <form [formGroup]="formGroup"> 
     ... 
     <div formGroupName="topFieldName"> 
     <checkbox-view formControlName="subFieldName">Remember me? </checkbox-view> 
     </div> 
    </form> 
+0

還有其他問題,您可以閱讀關於以下問題的評論=) – Illorian

0

在最新角2版本

<form [formGroup]="formName"> 
    <checkbox-view formControlName="rememberMe">Remember me</checkbox-view> 
</form> 


this.formName = this._fromBuilder.group({ 
    rememberMe: [this.model.rememberMe] 
}); 
+0

儘管此代碼可能會回答問題,但提供了有關如何和/或爲什麼它解決了這個問題會提高答案的長期價值。 –