2017-08-12 121 views
1

我有一个模板如何在Angular2中写入* ngIf作为输入占位符?

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

我也有一个数组myWords

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

我怎么能只在特殊情况下,插入这些话就像一个占位符,但是,像

this.app-part 

我在我的应用程序中有3个部分,但我希望仅在第3部分有一个占位符(来自myWords的文字),如果我有第一或第二部分 - 我不需要任何占位符。

+0

您可以象其他任何属性一样绑定占位符,然后在不需要的位置提供一个空字符串。但是,您只能拥有一个占位符,但不清楚三个值的数组在哪里适合。 – 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] =“变量”'会更传统 – jonrsharpe

+0

这是如何回答这个问题的?它说如何有条件地切换占位符值。 –

2

您可以使用the conditional operator ?: in JavaScript该属性设置placeholder要么值或空字符串。将占位符设置为空字符串应该与未为大多数常见用例设置相同。

要访问正确的占位符值,您需要将index分配给本地模板变量j

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