RE: Configuration JSON instance d'une portlet VueJs

Axel LEFEVRE, modified 5 Years ago. Junior Member Posts: 25 Join Date: 2/18/20 Recent Posts
Bonjour,

J'ai un problème lorsque je configure une de mes portlets VueJs via un fichier de configuration JSON.
J'ai suivi la documentation suivante : https://portal.liferay.dev/docs/7-2/reference/-/knowledge_base/r/configuration-json-available-options

Tout fonctionne bien jusqu'à ce que j'écrive une string contenant une apostrophe. En debuggant via la console Chrome je constate ce code :

if (initializer) {
		initializer(
			{
				configuration: {
					portletInstance: JSON.parse('{"testTitre":"modèle de titre avec l'apostrophe"}'),
					system: JSON.parse('{}')
				},
				contextPath: '/o/tableau-de-bord',
				portletElementId: 'js-portlet-_INSTANCE_2Qv9DmKM3Vxc_',
				portletNamespace: '_INSTANCE_2Qv9DmKM3Vxc_'
			});
	}


J'ai tenté d'échapper l'apostrophe avec \ ou \\ mais cela ne fonctionne pas non plus.

Existe-t-il une solution pour corriger ce problème ?

Je suis en version de Liferay CE 7.2.1 GA2
thumbnail
Eric COQUELIN, modified 5 Years ago. Expert Posts: 254 Join Date: 11/3/13 Recent Posts
Probalement doubler la quote ''

"modèle de titre avec l'apostrophe" devient "modèle de titre avec l''apostrophe"
Axel LEFEVRE, modified 5 Years ago. Junior Member Posts: 25 Join Date: 2/18/20 Recent Posts
doubler la quote ne fonctionne pas.
Et ce que je souhaite c'est qu'il y ait un auto-échappement de la quote comme c'est fait pour le caractère \.

En effet quand je tape via l'interface le testTitre suivant : "modèle de titre avec l\'apostrophe"

Alors j'obtiens le code : portletInstance: JSON.parse('{"testTitre":"modèle de titre avec l\\'apostrophe"}')
Ce qui échappe le caractère \ mais pas la quote '