2016-07-05 29 views
12

में फॉर्म मैं कोणीय 2 आरसी 4 में रूपों के साथ प्रयोग कर रहा हूं। यह सब ठीक काम कर रहा है, लेकिन जब मैं अनुप्रयोग शुरू ब्राउज़र सांत्वना मुझे यह संदेश देता है:कोणीय 2 आरसी 4

*It looks like you're using the old forms module. This will be opt-in in the next RC, and will eventually be removed in favor of the new forms module. 

मेरी घटक के प्रासंगिक हिस्सा इस तरह दिखता है:

import { 
    FORM_DIRECTIVES, 
    REACTIVE_FORM_DIRECTIVES, 
    FormBuilder, 
    FormGroup 
} from '@angular/forms'; 
import {Observable} from "rxjs/Rx"; 

@Component 
({ 
    selector: "hh-topbar", 
    moduleId: module.id, 
    templateUrl: "topBar.component.html", 
    directives: [HHPagerComponent, FORM_DIRECTIVES, REACTIVE_FORM_DIRECTIVES] 
}) 

export class HHTopBarComponent implements OnChanges, OnInit 
{ 
    ... 
    private filterForm: FormGroup; 
    private title$: Observable<string>; 

    constructor(private formBuilder: FormBuilder) 
    { 
    } 

    public ngOnInit(): any 
    { 
     this.filterForm = this.formBuilder.group 
     ({ 
      "title": [this.info.filters.searchFileName] 
     }); 

     this.title$ = this.filterForm.controls["title"].valueChanges; 
     this.title$.subscribe(val => 
     { 
      this.info.filters.searchFileName = val; 
      this.filterChanged.emit(this.info.filters); 
     }); 
    } 
} 

और मेरे टेम्पलेट के प्रासंगिक भाग इस तरह दिखता है:

<form [formGroup]="filterForm"> 
    <div> 
     <label for="title">Title</label> 
     <input [formControl]="filterForm.controls['title']" id="title" /> 
    </div> 
</form> 

किसी को भी यहाँ पता है क्या नए रूपों मॉड्यूल चेतावनी के बारे में बात कर रही है और जो निर्देशों को बदलने और क्या करने के लिए नहीं है?

+0

क्या उपयोग:

import {disableDeprecatedForms, provideForms} from '@angular/forms'; bootstrap(AppComponent, [ disableDeprecatedForms() provideForms() ]); 

FormBuilder जबकि पदावनत नहीं है, तो आप सीधे FormGroup बजाय वर्ग का उपयोग कर सकते यहां 'REACTIVE_FORM_DIRECTIVES' का? –

उत्तर

16

आप जब अपने आवेदन bootstrapping स्पष्ट रूप से बहिष्कृत कर दिया गया प्रपत्र समर्थन निष्क्रिय करने के लिए की जरूरत है:

this.filterForm = new FormGroup({ 
    title: new FormControl('', Validators.required) 
}); 
+0

यह फ़ॉर्म और समूह वर्ग का उपयोग करने के बारे में आपकी युक्ति के लिए चाल और धन्यवाद था। बहुत उपयोगी। जहां तक ​​आप जानते हैं, क्या मैं उन निर्देशों का उपयोग करूँगा जो मैं वास्तविक पहली रिलीज में उपयोग कर रहा हूं? – hholtij

+0

आपका स्वागत है! आप सही फॉर्म निर्देशों का उपयोग करते हैं ;-) यदि यह आपका प्रश्न है ... –

+0

@TAierryTemplier पर 'REACTIVE_FORM_DIRECTIVES' का उपयोग क्या है? –

संबंधित मुद्दे