vuejs vue update spa instalar example espaƱol bootstrap and laravel gulp vue.js

update - laravel vue github



ConfiguraciĆ³n VueJS en Laravel (4)

Intenta usar @ {{mensaje}} en lugar de {{mensaje}} en tu hoja índice. porque su mensaje no es php variable es su variable de marco JS. poner @ signo antes de la variable.

Instalé VueJS2 para su uso en laravel. Comenzando con una configuración de prueba simple, esta es app.blade.php

<!DOCTYPE html> <html> <head> <script scr="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.6/vue.min.js"></script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>MEDIFAKTOR - @yield(''title'') </title> <link rel="stylesheet" href="css/vendor.css" /> <link rel="stylesheet" href="css/app.css" /> </head> <body> <!-- Wrapper--> <div id="wrapper"> <!-- Navigation --> @include(''layouts.navigation'') <!-- Page wraper --> <div id="page-wrapper" class="gray-bg"> <!-- Page wrapper --> @include(''layouts.topnavbar'') <!-- Main view --> @yield(''content'') <!-- Footer --> @include(''layouts.footer'') </div> <!-- End page wrapper--> </div> <!-- End wrapper--> <script src="js/app.js" type="text/javascript"></script> <script> var data = { message: ''Greetings your majesty'' }; new Vue({ el: ''#app'', data: data }) </script> @section(''scripts'') @show </body> </html>

y este es el contenido que quiero mostrar

index.blade.php

@extends(''layouts.app'') @section(''title'', ''Main page'') @section(''content'') <div class="wrapper wrapper-content animated fadeInRight"> <div class="row"> <div class="col-lg-12"> <div class="text-center m-t-lg"> <h1>MEDIFAKTOR server</h1> </div> <div id="app"> <h1>{{message}}</h1> </div> </div> </div> </div> @endsection

Cuando actualizo, obtengo el error:

ErrorException en 80e040fb5fff0b0cf766194784388a0cd255e6c9.php línea 10: uso de mensaje constante indefinido - se supone ''mensaje'' (Ver: /home/vagrant/Development/Source/MFServer/resources/views/home/index.blade.php)

Esto me suena, como que VueJS no es reconocido. Instalé de acuerdo con el sitio web VueJS y laracasts.com

¿Lo coloqué en los lugares equivocados?

Package.json

{ "private": true, "scripts": { "prod": "gulp --production", "dev": "gulp watch" }, "devDependencies": { "gulp": "^3.9.1", "laravel-elixir": "^6.0.0-9", "laravel-elixir-webpack-official": "^1.0.2", "lodash": "^4.14.0" } }


Si tiene problemas para renderizar las llaves de vuejs {{}}. @ {{}} debería hacer el truco o para simplificar las cosas, puede considerar el código @verbatim html de blade {{vuejs_vars}} @endverbatim

Las etiquetas literales en la cuchilla se aseguran de que ninguna de ellas sea analizada por el motor de la cuchilla y se impriman como están.


Vue se declara en assets / bootstrap.js. Entonces, mira allí. Si está en su lugar, quizás depurar en el gancho creado en la instancia de Vue:

created: function () { console.log(''instance created'') }

Intenta depurar desde allí.


Si resolvió el problema con sign @ , pero sigue apareciendo el error "Vue no está definido", como dijo en el comentario, tiene un error tipográfico en el código: debe usar el atributo src , no scr . Entonces, la correcta inclusión de vue.min.js debería ser así:

<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.6/vue.min.js"></script>

También puede tener un problema cuando el código JS se está comenzando a ejecutar antes de cargar vue.min.js, intente utilizar el evento onload para el archivo vue JS:

<script onload="vueIsReady()" src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.6/vue.min.js"></script> <script type="text/javascript"> function vueIsReady(){ var data = { message: ''Greetings your majesty'' }; new Vue({ el: ''#app'', data: data }) } </script>

O puede usar la función de importación de este: https://developer.mozilla.org/en/docs/Web/API/HTMLScriptElement

// definition of the function importScript ... // call function importScript with two parameters - script URL and onload handler function importScript(''https://cdnjs.cloudflare.com/ajax/libs/vue/2.1.6/vue.min.js'', function(){ function vueIsReady(){ var data = { message: ''Greetings your majesty'' }; new Vue({ el: ''#app'', data: data }) } });