Reemplazo de $ eval en VUEJS 2 -- vue.js campo con vuejs2 camp Relacionados El problema

Replacement for $eval in VueJS 2


1
vote

problema

Español

page5 se ha eliminado de VUE 2.

Pero, considere este jsfiddle (VUE 1): https://jsfiddle.net/kvdmolen/0w193c75

Aquí está JSFiddle con VUE 2.0.7: https://jsfiddle.net/kvdmolen/0w193c75 / 1 /

Imagine Esto es en realidad un componente (una tabla con columnas configurables).

¿Alguna idea de cómo debería reemplazar page6 para VUE 2?

Uso de page7 Esto no funciona ya que está fuera del ámbito

Original en ingles

$eval has been removed from Vue 2.

But, consider this JSFiddle (Vue 1): https://jsfiddle.net/kvdmolen/0w193c75

Here is JSFiddle with Vue 2.0.7: https://jsfiddle.net/kvdmolen/0w193c75/1/

Imagine this is actually a component (a table with configurable columns).

Any ideas how I should replace $eval for Vue 2?

Using eval() this doesn't work as it is outside of the v-for scope

     
         
         

Lista de respuestas

1
 
vote

En lugar de usar Eval, puede escribir el código llamando a una función de HTML, y en el campo puede escribir una función, que determinará cuál será la salida.

en html:

  q=about9  

en el componente VUE:

  search=apples0  

Verifique que funciona violín .

Sin embargo, esto no parece ser muy buena práctica, ya que ahora sus datos están estrechamente enlazan a su HTML. Por lo tanto, el contenedor de su contenedor y el contenedor de presentación no son independientes, no pueden crecer de forma independiente y también son propensos a errores.

 

Instead of using eval, You can write the code by calling a function from HTML, and in the field you can write a function, which will determine what will be the output.

in Html:

        <tr v-for="(item, index) in myitems">             <td v-for="column in mycolumns" v-text="myFunc(index, column.field)">              </td>         </tr> 

in Vue Component:

    mycolumns: [             {                 column: "Todo Name",             field: (item) =>  item.name         },             {                 column: "Status",             field: (item) =>  item.status         },             {                 column: "Status Explanation",             field: (item) =>  item.status == 1 ? 'Done' : 'Todo'         }     ] }, methods:{    myFunc(index, fn){      return fn(this.myitems[index])    } } 

check working fiddle.

However this does not seem to be very good practice, as now your data is tightly bind to your html. So your container component and presentation container are not independent, can not grow independently and are error prone as well.

 
 
 
 

Relacionados problema

0  ¿Cómo obtener código fuente del archivo compilado de VUEJS?  ( How to get source code from compiled file of vuejs ) 
Perdí mi código fuente de VUEJS debido a la caída del portátil. Tengo archivos que son compilados por VUEJS. ¿Es posible obtener un código fuente del archivo ...

1  Uso de Kazupon / VUE-I18N dentro de un estado de VUEX  ( Using kazupon vue i18n inside a state of vuex ) 
usando https://github.com/kazupon/vue-i18n para la localización vue.t () || $ t () || trans () Recibir una cadena que es una clave para traducir por VU...

0  VUE-router ¡Enlace con el parámetro (error en la actualización?)  ( Vue router linking with parameter error on refresh ) 
¿Por qué cuando me dirija a un "enlace enrutador" a un componente con un parámetro, el parámetro funciona, pero luego cuando actualice la página no lo hace? (...

4  ¿Cómo puedo agregar 2 condición en una clase VUE.JS 2?  ( How can i add 2 condition in one class vue js 2 ) 
Mi componente VUE es así: <template> <a :class="'btn ' + [respond == 'responseFound' ? ' btn-yellow' : ' btn-default', type == 1 ? ' btn-block' : ' btn...

1  onclick múltiples elementos en Vue JS  ( Onclick multiple elements in vue js ) 
Estoy creando una función para ocultar y mostrar la descripción de las miniaturas de la imagen (si el usuario hace clic en la miniatura de la imagen, la descr...

53  Cambiar la URL base predeterminada para Axios  ( Change the default base url for axios ) 
He configurado mis Axios como este const axiosConfig = { baseURL: 'http://127.0.0.1:8000/api', timeout: 30000, }; Vue.prototype.$axios = axios.create(...

19  VUE SOUTE COLPSE TRANSICIÓN EN V-SI  ( Smooth vue collapse transition on v if ) 
Estoy luchando con las transiciones VUE que intentan mostrar / ocultar contenido usando V-si está sin problemas. Si bien entiendo las clases y transiciones de...

0  Tratando de capturar eventos en vue.js 2, pero sin éxito  ( Trying to capture events on vue js 2 but without success ) 
Tengo un problema con la captura de eventos con VUE.JS 2. Estoy usando un autobús de evento para emitir y capturar el evento. En este bloque de código, escr...

1  Estado intermedio o algo similar en VUE  ( Intermediate state or something similar in vue ) 
Estoy tratando de obtener un mensaje de texto para desplazarse horizontalmente, verticalmente o permanecer fijo según el espacio, las necesidades de texto act...

0  $ event.target.select () no funciona en algunos navegadores, incluyendo Safari  ( Event target select is not working on some browsers including safari ) 
text content1111 no está funcionando en algunos navegadores que incluyen Safari text content2 ¿Cómo puede ser arreglado? ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos