2017-02-22 14 views
6

का एक ज्ञात संपत्ति मैं इस संदेश को मिला, जब मैं दो तरह से बाध्यकारी [(ngModel)] का प्रयोग नहीं किया हैकोणीय 2: खाका पार्स त्रुटि: 'ngModel' करने के लिए बाध्य नहीं किया जा सकता, क्योंकि यह 'इनपुट'

Template parse errors: Can't bind to 'ngModel' since it isn't a known property of 'input'. 

मैं समझता हूं कि फॉर्म मॉड्यूल आयात करना इस मुद्दे को ठीक करने का अनुमान है क्योंकि बहुत से लोग यहां आए हैं। हालांकि, मेरे पास फॉर्म्स मॉड्यूल आयात किया गया था लेकिन यह मदद नहीं करता है, अभी भी

निश्चित रूप से मेरे कोड के साथ कुछ और गलत है। क्या आप एक प्रकाश डाल सकते हैं। यहाँ मेरी app.module.ts है

import { BrowserModule } from '@angular/platform-browser'; 
 
import { NgModule } from '@angular/core'; 
 
import { FormsModule } from '@angular/forms'; 
 
import { HttpModule } from '@angular/http'; 
 
import { RouterModule, Routes } from '@angular/router'; 
 

 
import { ValidationModule } from './validation/validation.module'; 
 

 
import { AppComponent } from './app.component'; 
 
import { AppRoutingModule } from './app.module.routing'; 
 

 
@NgModule({ 
 
    declarations: [ 
 
    AppComponent 
 
    ], 
 
    imports: [ 
 
    BrowserModule, 
 
    FormsModule, 
 
    HttpModule, 
 
    ValidationModule, 
 
    AppRoutingModule, 
 
    ], 
 
    providers: [], 
 
    bootstrap: [AppComponent] 
 
}) 
 
export class AppModule { 
 

 
}

यहाँ

मेरी app.routing.module.ts

import { NgModule } from '@angular/core' 
 
import { RouterModule, Routes } from '@angular/router' 
 

 
import { Home1Component } from './home1.component'; 
 
import { Home2Component } from './home2.component'; 
 

 
const appRoutes = [ 
 
    { path: 'home1', component: Home1Component }, 
 
    { path: 'home2', component: Home2Component }, 
 
    { path: 'validation', loadChildren: './validation/validation.module#ValidationModule'} 
 
]; 
 

 
@NgModule({ 
 
    declarations:[ 
 
     Home1Component, 
 
     Home2Component 
 
    ], 
 
    imports: [ 
 
     RouterModule.forRoot(appRoutes) 
 
    ], 
 
    exports:[ 
 
     RouterModule 
 
    ] 
 
}) 
 

 
export class AppRoutingModule { 
 

 
}

और यहाँ मेरी एचटीएमएल है

<h1> home 1 </h1> 
 
<form> 
 
    <input [(ngModel)]="currentHero.name"> 
 
    <button type="button" (click)="onOkClicked()">Ok</button> 
 
</form>

मैं यहां अपने स्रोत कोड देते हैं, मैं उपयोग कर रहा हूँ कोणीय CLI source

उत्तर

2

यदि आप प्रतिक्रिया जोड़ने के लिए प्रतिक्रियाशील रूपों का उपयोग करना चाहते हैं: ReactiveFormsModule

@NgModule({ 
    declarations:[ 
     Home1Component, 
     Home2Component 
    ], 
    imports: [ 
     RouterModule.forRoot(appRoutes), 
     ReactiveFormsModule, 
    ], 
    exports:[ 
     RouterModule 
    ] 
}) 
+0

यह अजीब है, लेकिन आपका बिल्कुल जवाब है, मेरे उदाहरण में फॉर्म मॉड्यूल को रूट मॉड्यूल में भी आयात करने की आवश्यकता है, जबकि यह ऐप मॉड्यूल में था। क्या यह कहीं दस्तावेज है? क्या आप उद्धरण दे सकते हैं? – khoailang

5

जहां अपने निर्देशों का उपयोग कर रहे आप मॉड्यूल में आयात के लिए FormsModule जोड़ने की जरूरत :

@NgModule({ 
    declarations:[ 
     Home1Component, 
     Home2Component 
    ], 
    imports: [ 
     RouterModule.forRoot(appRoutes), 
     FormsModule, // <<<=== missing 
    ], 
    exports:[ 
     RouterModule 
    ] 
}) 
संबंधित मुद्दे

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