Compatibilidad de las comilla del template(`)

templates

#1

Hola

Este es mi primer mensaje en el foro… y es porque tengo una duda que no he logrado solucionar.

Un compañero me ha dicho que las comillas que usan en los componentes de vue en la declaracion del template:

template: `

No son compatibles con Internet Explorer.

He buscado info, pero no la encuentro por eso me he dirigido a este foro.

Saludos y gracias de antemano…


#2

Hola @jhonlp,

los Template literals son parte de la especificacion ES6, y la misma no es soportada por IE ni por ningun navegador moderno en su totalidad. Es por ello que todo codigo se debe compilar usando babel a ES5 el cual si es soportado en su totalidad, incluso por IE.

Ahora bien, los template literals no son obligatorios en Vue, por lo que si estas declarando tus componentes directamente sin pasar por el proceso de compilacion, usa las comillas simples.


#4

Hola, gracias por tu respuesta… pero es este caso tendria que declarar la platilla en una sola linea. ¿verdad?

template: `
    <div class="col-12 border border-dark">
    <div class="row">
        <div class="col-xs-12 col-sm-12 col-md-12 col-lg-6">
            <div class="col-12 text-center">
                <img class="img-fluid" src="{% thumbnail promocion.agente.foto 300x250 crop %}">
            </div>
        </div>

#5

Si, ya que las comillas simples no aceptan multilineas. Hay alguna razon en especifico por la que no puedas precompilar tu codigo?


#6

Hola.
No, no la hay, es que estamos iniciando con vuejs en Django y no tenemos mucha experiencia con Vue.

para precompilar se debe usar babel… esta es la única opción?

Gracias


#7

Hay varias maneras, pero las mas popular es usar Babel y Webpack. Te recomendaria usaras vue-cli para crear y compilar tus proyectos, sobretodo si recien estas empezando. El mismo internamente usa todo lo necessario para compilar adecuadamente tu codigo. Ademas tiene una documentacion bien completa que te respondera la mayoria de tus dudas.