2017-09-27 11 views
0

何が起こっているのか全く分かりません。入力による指示にコンポーネントを渡す

値(ngModelから)を値に渡してコンポーネントに渡す(ngModelにも)カスタムコンポーネントに簡単な指示を書き込もうとしていました。

<form-text 
    required 
    birthDateExtracter="dateOfBirth" 
    name="id" 
    [(ngModel)]="model.idNumber"></form-text> 

<form-datepicker #dateOfBirth 
    name="Birth Date" 
    [(ngModel)]="model.birthDate"></form-datepicker> 

と私のディレクティブは次のようになります:それは

はそのように見えます

@Directive({ 
    selector: '[ngModel][birthDateExtracter]' 
}) 
export class BirthDateExtracterDirective { 

    _component: any; 

    @Input('birthDateExtracter') 
    set birthDate(value: any) { 
    this._component = value; 
    console.log(value); //it's not working 
    } 

    constructor(private model: NgModel) { 
    } 

    @HostListener('ngModelChange', ['$event']) 
    onModelChange(event) { 
    console.log(event); //it works fine 
    } 
} 

しかし、その代わりに、私の入力にコンポーネントの"dateOfBirthの"文字列を渡しました。私はそれが愚かな、schollboyの間違いまたはタイプミスだと思うが、私はそれを処理することはできません。あるいは別のやり方でそれを作るべきかもしれない。このように間違いはありますか?

答えて

1

大括弧を忘れてしまったようです。

[birthDateExtracter]="dateOfBirth" 

または別の方法では、男性ああ補間

birthDateExtracter="{{dateOfBirth}}" 
+0

を使用している:私はそれがあるべきと思います! :)もう一度私の日を救う:)私はそれが教室の間違いを知っていた!ありがとうございます –

+0

ようこそ!) – yurzui

関連する問題