2017-08-12 21 views
1

私はまた私がAngular2で入力プレースホルダに* ngIfを書き込む方法は?

this.app-part 

のように、唯一の特殊なケースでは、プレースホルダのように、これらの言葉を挿入することができどのように配列myWords

myWords = ['orange', 'blue', 'green']; 

を持っているテンプレート

<ng-container *ngFor="let text of texts[i]; let j = index">{{text}} 
    <input type="text"> 
     </ng-container> 

を持っています私は私のアプリケーションで3つの部分がありますが、私はプレースホルダ(myWordsからの単語)を3番目の部分にだけ持っていると私は第1部または第2部がある - 私はそこにプレースホルダーは必要ありません。

+0

他の属性と同じようにプレースホルダをバインドし、不要な場所に空の文字列を指定することができます。しかし、1つのプレースホルダしか持つことはできませんが、3つの値の配列がどこに収まるかは明確ではありません。 – jonrsharpe

+2

ここの部分はどういう意味ですか? – Faisal

+0

@Faisal私は3つの異なる部分を持っていますが、それらはすべてこのコンポーネントを持っています –

答えて

0
<ng-container *ngFor="let text of texts[i]; let j = index">{{text}} 
    <input type="text" placeholder="{{variable}}"/> 
</ng-container> 

あなたの答えすることができ...

+3

'[placeholder] =" variable "はより一般的です – jonrsharpe

+0

これはどのようにして質問に答えますか?条件付きでプレースホルダの値を切り替える方法を示します。 –

2

あなたは値または空の文字列のいずれかの属性placeholderを設定するためにthe conditional operator ?: in JavaScriptを使用することができます。プレースホルダを空の文字列に設定するのは、最も一般的な使用例に対しては設定しないでください。

正しいプレースホルダ値にアクセスするには、indexをローカルテンプレート変数jに割り当てる必要があります。

<ng-container *ngFor="let text of texts[i]; let j = index"> 
    {{ text }} 
    <input type=text [placeholder]="condition ? myWords[j] : ''"> 
</ng-container> 
関連する問題