Estoy tratando de configurar un proyecto central de .NET usando Razor Pages e incluir vueJs dentro de la página de razor para toda mi lógica.
Algo como esto:
@{ ViewData["Title"] = "VueJs With Razor"; } <h2>@ViewData["Title"].</h2> <div id="app"> <span>{{ message }}</span> </div> <script> new Vue({ el: '#app', data: { message : 'Hello vue.js' } }) </script>He leído que mezclar las páginas de Vue y Razor es una mala práctica, y uno debería usar Razor O Vue.
¿Por qué es esto?
Puedes hacerlo. A veces, está obligado a hacerlo si, como nosotros, está migrando una base de código existente y no puede convertir todo a la vez. Y como dice Ron C, funciona bien.
Si estás iniciando un nuevo proyecto, tienes el lujo de elegir. Las razones para preferir un SPA y no Razor serían...
Reactividad. Las aplicaciones SPA generalmente se sienten (mucho) más reactivas. Los renderizados iniciales a menudo se sirven desde la memoria caché, antes de que lleguen los datos. En la primera carga, todos los recursos llegan en un paquete, en una solicitud-respuesta. No hay, o mucho menos, encadenamiento de solicitudes.
Flujo de trabajo. El paquete web, la agrupación y las recargas en caliente son geniales. Obtiene compilaciones de producción, con minificación, compilación de funciones de representación Vue, eliminación de errores de estilo 404, errores de sintaxis js atrapados. El ciclo desde la introducción de un error hasta su descubrimiento se reduce considerablemente para muchos errores.
Universo SPA. Enrutamiento, Vuex, este es realmente el camino del futuro.
Pureza. Razor y Vue hacen cosas similares al final del día. Si los mezcla, es posible que le resulte difícil mantener la cabeza recta.
Ahora también puede aplicar pelusa a las plantillas de VueJS dentro de las vistas de Razor: