1

Ich mag eine Vorlage string (definiert an anderer Stelle) zu interpolieren:Wie interpoliere ich eine getaggte Template-Zeichenfolge mit einem dynamischen Wert?

const url = `www.example.com/${query}/current.json`; 

mit einem dynamischen Wert (zB "es6") in diese:

"www.example.com/es6/current.json" 

Zum Beispiel, wenn ich hatte etwas wie dieses:

Ist gekennzeichnete Schablonenschnüre und eine Umbaufunktion der Weg zu gehen? Ich habe viele verschiedene Beispiele gesehen, aber keine, die zu dieser speziellen Situation passen.

+1

Sie müssen nur vor $ setzen {} '\' www.example.com/$ {query} /current.json \ ';' –

+0

also 'var query = ' es6''? – Bergi

+0

Was meinen Sie mit "anderswo definiert"? Sie könnten [* Vorlagenliterale * mit Vorlagen] verwirren (http://Stackoverflow.com/a/29771751/1048572) – Bergi

Antwort

3

Das ist genau der Grund, warum Funktionen erfunden wurden!

const dynamicUrl = query => `www.example.com/${query}/current.json` 
 

 
console.log(dynamicUrl('es6')) //=> 'www.example.com/es6/current.json'

+0

haha ​​danke Ich wusste, die Antwort war richtig auf meinem Gesicht – zok

+1

@zok Vergiss nicht, 'encodeURIComponent (query)' oder stellen Sie sicher, 'query' ist URL-sicher. – loganfsmyth

Verwandte Themen