Estoy cargando datos del servidor a través de solicitudes ajax. El archivo JSON tiene configuraciones para ventanas emergentes en el sitio.
popupData: { data:{ var_one: "hello", var_two: "world"}, template: "the <b>{{var_two}}</b> say's {{var_one}}" }Los nombres de las variables y la plantilla serán diferentes para cada aparición de la ventana emergente.
¿Cómo puedo interpolar esta cadena con los datos que la acompañan? Necesito pasar la cadena preconstruida a un componente para que se vea usando [innerHTML].
En algún lugar después de que se recibieron los datos:
const popupString = popupData.template.replace( /{{\s?([^{}\s]*)\s?}}/g, (substring, parsedKey) => { const replacer = popupData.data[parsedKey]; return typeof replacer !== 'undefined' ? replacer : substring; } ); Debería ser igual the <b>world</b> says Hello en tu ejemplo.
Tenga en cuenta que este código proviene de angular-l10n de robisim74 (licencia MIT).