2017-06-29 5 views
0

Ich versuche, diese EingangssteuerAngular Material Input Steuer

<div layout-gt-sm="row"> 
    <md-input-container class="md-block" flex-gt-sm> 
    <label>First name</label> 
    <input ng-model="user.firstName"> 
    </md-input-container> 
</div> 

ich Fehler erhalten zu implementieren: Das ist, was AppMaterialModule sieht aus wie

Unexpected directive 'MdInputContainer' imported by the module 'AppMaterialModule'. Please add a @NgModule annotation. 

.

import { NgModule } from '@angular/core'; 
import { 
    MdToolbarModule, 
    MdIconModule, 
    MdMenuModule, 
    MdButtonModule, 
    MdSelectModule, 
    MdSnackBarModule, 
    MdSnackBar, MdInputContainer, MdInputModule 
} from '@angular/material'; 

@NgModule({ 
    imports: [ 
     MdToolbarModule, 
     MdButtonModule, 
     MdIconModule, 
     MdMenuModule, 
     MdSelectModule, 
     MdSnackBarModule, 
     MdInputContainer, 
     MdInputModule 
    ], 
    exports: [ 
     MdToolbarModule, 
     MdButtonModule, 
     MdIconModule, 
     MdMenuModule, 
     MdSelectModule, 
     MdSnackBarModule, 
     MdInputContainer, 
     MdInputModule 

    ], 
    providers: [ 
     MdSnackBar 
    ] 
}) 
export class AppMaterialModule {} 

Was mache ich falsch? Ich habe versucht, MD-Eingang anstelle von MD-Input-Container. Ich bekomme auch Fehler damit.

+3

AFAIK, sollten Sie nur ** Module importieren **. 'MdInputContainer' ist eine Direktive die in' MdInputModule' lebt. Sobald Sie 'MdInputModule' importieren, können Sie diese Direktive oder jede andere Direktive/Komponente verwenden, die von diesem Modul deklariert wird. Es ist auch '[(ngModel)]', nicht 'ng-model' (vergiss nicht' FormsModule' aus '@ angular/forms' zu importieren). – developer033

+0

Ich habe diese Änderungen vorgenommen, aber jetzt bekomme ich den Fehler: 'md-input-container' ist kein bekanntes Element: 1. Wenn 'md-input-container' eine Angular-Komponente ist, dann vergewissern Sie sich, dass es ein Teil davon ist dieses Modul. 2. Wenn 'md-input-container' eine Web-Komponente ist, fügen Sie 'CUSTOM_ELEMENTS_SCHEMA' zu '@ NgModule.schemas' dieser Komponente hinzu, um diese Nachricht zu unterdrücken. – Jay

Antwort

0

stellen Sie sicher, mdInput im Eingabe-Tag verwenden, wie in

<md-input-container> 
    <input mdInput type="text" [(ngModel)]="user.firstName" ...> 
</md-input-container> 

(wie bereits erwähnt es [(ngModel)] ist, nicht ng-model)