2016-03-25 22 views
38

Vorrei passare un valore stringa a un componente in angular2, ma non funziona con il bind predefinito. Sto pensando a qualcosa di simile a questo: Come passare un valore stringa a un componente in angular2

<component [inputField]="string"></component> 

Purtroppo, solo le espressioni sono ammessi sul lato destro della cessione. C'è un modo per fare questo?

risposta

54

letterali stringa possono essere passati in diversi modi:

<component inputField="string"></component> 
<component [inputField]="'string'"></component> 
<component inputField="{{'string'}}"></component> 
+0

C'è qualche differenza tra quelli? Per esempio. Angular creerebbe "binding" negli ultimi due casi o è abbastanza intelligente? –

+0

Angolare è abbastanza intelligente. Solo il primo sarà visibile nel DOM. –

+0

Grazie. Stavo passando senza virgolette nidificate e restituiva il valore come NaN: '' –

42

È possibile passare una stringa racchiudendo la stringa tra virgolette

<component [inputField]="'string'"></component> 
3

Per includere una singola citazione (e, eventualmente, altri speciali Caratteri HTML) nella stringa letterale la prima opzione funziona mentre quelli che usano virgolette singole per eseguire il letterale fallire con errori di analisi. Ad esempio:

<component inputField="John&#39;s Value"></component> 

Invia "Valore di John" correttamente.

Problemi correlati