2017-06-29 101 views
0

我想實現這個輸入控制角材質輸入控制

<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> 

我得到錯誤:

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

這是AppMaterialModule樣子。

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 {} 

我在做什麼錯?我嘗試使用md-input而不是md-input-container。我也有錯誤。

+3

據我所知,你應該只導入** **模塊。 'MdInputContainer'是一個指令,它存在於'MdInputModule'中......所以一旦你導入了'MdInputModule',你就可以使用這個指令或者這個模塊聲明的其他指令/組件。它也是'[(ngModel)]',而不是'ng-model'(不要忘記從@ angular/forms'中導入'FormsModule')。 – developer033

+0

我做了這些改變,但現在我得到的錯誤:'md-input-container'不是已知的元素: 1.如果'md-input-container'是一個Angular組件,那麼驗證它是否是這個模塊。 2.如果'md-input-container'是一個Web組件,則將'CUSTOM_ELEMENTS_SCHEMA'添加到此組件的'@ NgModule.schemas'中以禁止此消息。 – Jay

回答

0

確保你在輸入標籤使用mdInput的,如

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

(正如已經指出它是[(ngModel)],不ng-model