vue month moment lenguaje languages fecha espaƱol momentjs vue.js

momentjs - month - vue moment



Moment.js con Vuejs (6)

Con su código, vue.js está intentando acceder al método moment() desde su alcance.

Por lo tanto, debe usar un método como este:

methods: { moment: function () { return moment(); } },

Si desea pasar una fecha al moment.js , sugiero usar filtros:

filters: { moment: function (date) { return moment(date).format(''MMMM Do YYYY, h:mm:ss a''); } } <span>{{ date | moment }}</span>

[demo]

Intento imprimir la fecha y la hora usando lo siguiente en vue-for

{{ moment().format(''MMMM Do YYYY, h:mm:ss a'') }}

pero no aparece. Es solo un espacio en blanco. ¿Cómo puedo intentar usar moment in vue?


En su package.json en la sección "dependencies" agregue momento:

"dependencies": { "moment": "^2.15.2", ... }

En el componente donde le gustaría usar moment, impórtelo:

<script> import moment from ''moment'' ...

Y en el mismo componente agregue una propiedad calculada:

computed: { timestamp: function () { return moment(this.<model>.attributes[''created-at'']).format(''YYYY-MM-DD [at] hh:mm'') } }

Y luego en la plantilla de este componente:

<p>{{ timestamp }}</p>


Lo hice funcionar con Vue 2.0 en un solo componente de archivo.

npm install moment en la carpeta donde tiene instalado vue

<template> <div v-for="meta in order.meta"> {{ getHumanDate(meta.value.date) }} </div> </template> <script> import moment from ''moment''; export default { methods: { getHumanDate : function (date) { return moment(date, ''YYYY-MM-DD'').format(''DD/MM/YYYY''); } } } </script>


Si su proyecto es una aplicación de una sola página (por ejemplo, proyecto creado por vue init webpack myproject ), descubrí que esta forma es más intuitiva y simple:

En main.js

import moment from ''moment'' Vue.prototype.moment = moment

Luego, en su plantilla, simplemente use

<span>{{moment(date).format(''YYYY-MM-DD'')}}</span>


Simplemente importaría el módulo de momento, luego usaría una función calculada para manejar mi lógica de momento () y devolver un valor al que se hace referencia en la plantilla.

Si bien no he usado esto y, por lo tanto, no puedo hablar sobre su efectividad, encontré https://github.com/brockpetrie/vue-moment para una consideración alternativa


import VueMoment from ''vue-moment''; Vue.use(VueMoment); const moment = require(''moment'') require(''moment/locale/es'') Vue.use(require(''vue-moment''), { moment }) console.log(Vue.moment().locale()) //es