Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

169
Views
Cómo envolver HTML dinámico de la base de datos alrededor de la plantilla Vue.js

Necesito poder envolver HTML personalizado alrededor del contenido de mi plantilla de Vue. Como puede ver a continuación, no se trata simplemente de insertar contenido html usando <div v-html="HtmlWrapperTopHalf"> porque eso cerrará automáticamente cualquier etiqueta no cerrada. Las etiquetas siempre estarán cerradas en la mitad inferior del HTML dinámico. Básicamente, estoy buscando insertar el código de plantilla de Vue en mi HTML de plantilla dinámica.

Tampoco puedo asumir lo que hay en el HTML dinámico y construirlo dentro de la plantilla de Vue. Este HTML proviene de un editor de texto enriquecido que mis clientes crean por su cuenta. Simplemente insertan un marcador de posición {{MAIN_CONTENT}} en el medio de su plantilla dinámica y ahí es donde debería aparecer la funcionalidad de la plantilla Vue.

Página.vue

 <template> <div> //Top half of dynamic XHTML wrapper goes here <p>Inner Content Here</p> <ComponentA /> <ComponentB /> <!-- etc. ---> <p>More Inner Content</p> //Bottom half of dynamic XHTML wrapper goes here </div> </template> <script> axios.get("getHtmlContent").then((result) =>{ console.log("top", result.data.HtmlWrapperTopHalf) console.log("bottom", result.data.HtmlWrapperBottomHalf) }); </script>

consola.log

 top: <div class="my-dynamic-class" id="my-unique-id"><h1>DYNAMIC TITLE</h1> bottom: <div id="my-dynamic-footer">custom footer text</div></div>

Salida HTML:

 <div> <div class="my-dynamic-class" id="my-unique-id"><h1>DYNAMIC TITLE</h1> <p>Inner Content Here<p> <div>Hello from ComponentA!!</div> <div>Hello from ComponentB!!</div> <!-- etc. ---> <p>More Inner Content<p> <div id="my-dynamic-footer">custom footer text</div></div> </div>

Esperemos que este diagrama del concepto ayude: ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Dado que otros componentes pueden ser parte de este contenido html dividido, usar la sintaxis de render para generar un espacio dentro del contenido parece ser la única alternativa.

 render(createElement) { return createElement( 'div', { 'class': 'hello'}, this.$slots.default ) },

Haga que su componente axios se construya dentro del renderizado ( consulte los documentos ) y luego utilícelo como una slot para completar los componentes futuros.

Por ejemplo <ClientHtmlInject> <Comp1/><Comp2/> </ClientHtmlInjection>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!