{"id":8,"date":"2021-07-10T02:01:33","date_gmt":"2021-07-10T02:01:33","guid":{"rendered":"https:\/\/e-icus.net\/blog\/?p=8"},"modified":"2021-07-10T15:04:38","modified_gmt":"2021-07-10T15:04:38","slug":"vue-js-guia-rapida","status":"publish","type":"post","link":"https:\/\/e-icus.net\/blog\/2021\/07\/10\/vue-js-guia-rapida\/","title":{"rendered":"Vue.js gu\u00eda r\u00e1pida"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">1. Instalar vue cli<\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>npm install -g @vue\/cli<\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">2. Crear un proyecto<\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>vue create hello-world<\/code><\/pre><\/div>\n\n\n\n<p>Una vez creado el proyecto entrar al directorio y correr el servidor con el comando <\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>npm run serve<\/code><\/pre><\/div>\n\n\n\n<p>Tambi\u00e9n puedes crear un proyecto seleccionando de manera manual las opciones,  selecciona babel y la versi\u00f3n 3 de vue.js<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">3. Componentes<\/h4>\n\n\n\n<p>Crea un archivo dentro del directorio components, es importante que los archivos inicien con una letra en may\u00fascula y tengan la extensi\u00f3n \u00ab.vue\u00bb, cada componente tiene 3 elementos: template, script y style.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"736\" src=\"https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-2-1024x736.png\" alt=\"\" class=\"wp-image-25\" srcset=\"https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-2-1024x736.png 1024w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-2-300x216.png 300w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-2-768x552.png 768w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-2-1536x1104.png 1536w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-2-1568x1127.png 1568w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-2.png 1918w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-file=\"Titulo.vue\" data-lang=\"HTML\" data-line=\"2\"><code>&lt;template&gt;\n  &lt;h1&gt;El t\u00edtulo de mi componente&lt;\/h1&gt;\n  &lt;p&gt;{{texto}}&lt;\/p&gt;\n&lt;\/template&gt;\n\n&lt;script&gt;\nexport default {\n    name:&#39;Titulo&#39;,\n    props : {\n        texto:String\n    }\n}\n&lt;\/script&gt;\n\n&lt;style&gt;\n\n&lt;\/style&gt;\n<\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-file=\"app.vue\" data-lang=\"HTML\"><code>&lt;template&gt;\n  &lt;img alt=&quot;Vue logo&quot; src=&quot;.\/assets\/logo.png&quot;&gt;\n  &lt;titulo texto = &quot;El t\u00edtulo desde props&quot;\/&gt;\n&lt;\/template&gt;\n\n&lt;script&gt;\nimport Titulo from &#39;.\/components\/Titulo.vue&#39;\n\nexport default {\n  name: &#39;App&#39;,\n  components: {\n    Titulo\n  }\n}\n&lt;\/script&gt;\n\n&lt;style&gt;\n#app {\n  font-family: Avenir, Helvetica, Arial, sans-serif;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  text-align: center;\n  color: #2c3e50;\n  margin-top: 60px;\n}\n&lt;\/style&gt;\n<\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Props<\/h4>\n\n\n\n<p>Permiten enlazar datos entre componentes<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Custom Events<\/h4>\n\n\n\n<p>Cuando un componente hijo desea modificar alg\u00fan dato del elemento padre, se emite un evento que se encuentra previamente configurado en el evento padre.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-file=\"Cuenta.vue\" data-lang=\"HTML\"><code>&lt;template&gt;\n  &lt;h1&gt;Cuenta de {{ cuentaHabiente}}&lt;\/h1&gt;\n  {{saldo}}\n  &lt;div v-for=&quot;(servicios, index) in servicios&quot; :key=&quot;index&quot;&gt;\n      {{servicios}}\n  &lt;\/div&gt;\n  &lt;accion-saldo \n        texto=&quot;Aumentar Saldo&quot;\n        @accion=&quot;aumentar()&quot;\n        \n        \/&gt;\n  &lt;accion-saldo \n        texto=&quot;Disminuir Saldo&quot;\n         @accion=&quot;disminuir()&quot;\n         :desactivar=&quot;desactivar&quot;\n    \/&gt;   \n&lt;\/template&gt;\n\n&lt;script&gt;\nimport AccionSaldo from &quot;.\/AccionSaldo.vue&quot;\n\nexport default {\n    components: {AccionSaldo},\n    data() {\n        return {\n            saldo: 50,\n            tipo:&quot;Visa&quot;,\n            estado: true,\n            desactivar:false,\n            servicios: [&#39;transferencias&#39;,&#39;abonos&#39;,&#39;pagos&#39;]\n        }\n    },\n    props:{\n        cuentaHabiente:String\n    },\n    methods:{\n        aumentar(){\n            this.saldo = this.saldo + 10\n        },\n        disminuir(){\n            \n            if(this.saldo &gt; 0 ){\n                this.saldo = this.saldo-10\n            }\n            else{\n                this.desactivar=true\n            }\n        }\n    }\n}\n&lt;\/script&gt;\n\n&lt;style&gt;\n\n&lt;\/style&gt;<\/code><\/pre><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-html\" data-file=\"AccionSaldo.vue\" data-lang=\"HTML\"><code>&lt;template&gt;\n    &lt;button @click=&quot;accion&quot; :disabled=&quot;desactivar&quot;&gt;{{texto}}&lt;\/button&gt;\n&lt;\/template&gt;\n\n&lt;script&gt;\nexport default {\n    props:{\n        texto:String,\n        desactivar : Boolean\n    },\n    methods:{\n        accion(){\n            this.$emit(&#39;accion&#39;)\n        }\n    }\n}\n&lt;\/script&gt;\n\n&lt;style&gt;\n\n&lt;\/style&gt;<\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Compilar el proyecto<\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>npm run build\n<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Ciclo de vida de vue<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/v3.vuejs.org\/images\/lifecycle.svg\" alt=\"\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Plugins \u00fatiles en visual studio code<\/h2>\n\n\n\n<p><\/p>\n\n\n\n<p>Vetur<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"137\" src=\"https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-1-1024x137.png\" alt=\"\" class=\"wp-image-23\" srcset=\"https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-1-1024x137.png 1024w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-1-300x40.png 300w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-1-768x103.png 768w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-1-1536x205.png 1536w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-1-2048x274.png 2048w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-1-1568x210.png 1568w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Visual VSCode Snippets<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"643\" src=\"https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-1024x643.png\" alt=\"\" class=\"wp-image-22\" srcset=\"https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-1024x643.png 1024w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-300x189.png 300w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-768x483.png 768w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-1536x965.png 1536w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-2048x1287.png 2048w, https:\/\/e-icus.net\/blog\/wp-content\/uploads\/2021\/07\/image-1568x985.png 1568w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>1. Instalar vue cli 2. Crear un proyecto Una vez creado el proyecto entrar al directorio y correr el servidor con el comando Tambi\u00e9n puedes crear un proyecto seleccionando de manera manual las opciones, selecciona babel y la versi\u00f3n 3 de vue.js 3. Componentes Crea un archivo dentro del directorio components, es importante que los&hellip; <a class=\"more-link\" href=\"https:\/\/e-icus.net\/blog\/2021\/07\/10\/vue-js-guia-rapida\/\">Seguir leyendo <span class=\"screen-reader-text\">Vue.js gu\u00eda r\u00e1pida<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[3],"class_list":["post-8","post","type-post","status-publish","format-standard","hentry","category-vue","tag-vue-js","entry"],"_links":{"self":[{"href":"https:\/\/e-icus.net\/blog\/wp-json\/wp\/v2\/posts\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/e-icus.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/e-icus.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/e-icus.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/e-icus.net\/blog\/wp-json\/wp\/v2\/comments?post=8"}],"version-history":[{"count":16,"href":"https:\/\/e-icus.net\/blog\/wp-json\/wp\/v2\/posts\/8\/revisions"}],"predecessor-version":[{"id":39,"href":"https:\/\/e-icus.net\/blog\/wp-json\/wp\/v2\/posts\/8\/revisions\/39"}],"wp:attachment":[{"href":"https:\/\/e-icus.net\/blog\/wp-json\/wp\/v2\/media?parent=8"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/e-icus.net\/blog\/wp-json\/wp\/v2\/categories?post=8"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/e-icus.net\/blog\/wp-json\/wp\/v2\/tags?post=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}