2017-09-12 5 views
2

私は日付ピッカーを使用しようとしています。チェックボックスやラジオボタンに問題はありません。しかし、私は試してみて、日付ピッカーを追加し、私はいつもこのエラーを取得する場合:私のapp.module.tsファイル内角度の材料Datepickerは私のために働きません

Error: Template parse errors: Can't bind to 'htmlFor' since it isn't a known property of 'md-datepicker-toggle'

import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import { MdButtonModule, 
    MdCheckboxModule, 
    MdCardModule, 
    MdRadioModule, 
    MdDatepickerModule } from '@angular/material'; 

import { AppComponent } from './app.component'; 
import { WeekControlComponent } from './week-control.component'; 

@NgModule({ 
declarations: [ 
    AppComponent, 
    WeekControlComponent 
], 
imports: [ 
    BrowserModule, 
    FormsModule, 
    MdButtonModule, 
    MdCheckboxModule, 
    MdCardModule, 
    MdRadioModule, 
    MdDatepickerModule 
], 
providers: [], 
bootstrap: [AppComponent] 
}) 
export class AppModule { } 

を私はWeekControlComponentを持っている:

HTML
<input mdInput [mdDatepicker]="picker" placeholder="Choose a date"> 
<md-datepicker-toggle mdSuffix [for]="picker"></md-datepicker-toggle> 
<md-datepicker #picker></md-datepicker> 
TS
import { Component, OnInit } from '@angular/core'; 

    @Component({ 
    selector: 'app-week-control', 
    templateUrl: './week-control.component.html', 
    styleUrls: ['./week-control.component.css'] 
    }) 
    export class WeekControlComponent implements OnInit { 

    constructor() { } 

    ngOnInit() { 
    } 
    } 

私はcopie d。angular.ioの素材の例のページの例をそのまま表示します。私はなぜそれが機能していないのか理解していない。誰かがここで私を助けてくれますか?

+0

私は答え[ここ](https://stackoverflow.com/a)のために作った作業中のプランカー[ここ](https://plnkr.co/edit/NWIq75PQM4l7awHLygDq?p=preview)を持っています。/46159653)。おそらくそれは助ける:) – BogdanC

答えて

2

最新の角度依存関係をインストールするだけです。すなわち

"@angular/animations": "4.3.0", 
"@angular/cdk": "^2.0.0-beta.10", 
"@angular/common": "4.3.0", 
"@angular/compiler": "4.3.0", 
"@angular/core": "4.3.0", 
"@angular/forms": "4.3.0", 
"@angular/http": "4.3.0", 
"@angular/material": "^2.0.0-beta.10", 
"@angular/platform-browser": "4.3.0", 
"@angular/platform-browser-dynamic": "4.3.0", 
"@angular/platform-server": "4.3.0", 
"@angular/router": "4.3.0" 

devDependencies: 
"@angular/compiler-cli": "4.3.0" 

コードをテストしてください。それは私のためにうまく動作します。

+0

私は "2.0.0-beta.10"に更新したときに材料 "2.0.0-beta.8"を使用していました。ありがとうございました。 – Curtis

2

あなたが材料バージョン2.0.0-beta.8を使用している場合は、次の変更を実行する必要があります -

  1. は、HTMLファイル

    <md-input-container> 
    <input mdInput [mdDatepicker]="picker" placeholder="Choose a date"> 
    <button mdSuffix [mdDatepickerToggle]="picker"></button> 
    </md-input-container> 
    <md-datepicker #picker></md-datepicker> 
    

2のコードを置き換えます。 app.module、つまりMdNativeDateModuleにモジュールをもう1つ追加してください。

import { MdButtonModule, 
MdCheckboxModule, 
MdCardModule, 
MdRadioModule, 
MdDatepickerModule, 
MdNativeDateModule } from '@angular/material'; 


imports: [ 
    BrowserModule, 
FormsModule, 
MdButtonModule, 
MdCheckboxModule, 
MdCardModule, 
MdRadioModule, 
MdDatepickerModule, 
MdNativeDateModule 

]、

+0

あなたのコードを試したところ、2.0.0-beta.8を使用してmd-input-containerが認識されないというエラーが表示されました。 2.0.0-beta.10に更新したとき、mdDatepickerToggleをバインドできないボタンについてエラーが出ました。しかし、angular.ioの公式の例を更新した後、作業を​​開始しました。 – Curtis

+0

角度材料2.0.0-beta.8で動作させるには、 "MdInputModule"も追加します。 – Kriti

+1

それは私のために働く。どうもありがとうございます。 –

関連する問題