2015-12-16 15 views
43

と私はvue-forMoment.jsはVuejs

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

で次のように使用して日付時刻をプリントアウトしようとしたが、それは表示されません。それは単なる空白です。どのように私はvueで瞬間を使用しようとすることができますか?あなたのコードで

答えて

90

vue.jsは、その範囲からmoment()メソッドにアクセスしようとしています。

したがって、あなたがこのような方法で使用する必要があります。

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

あなたはmoment.jsに日付を渡したい場合は、私はフィルタを使用することをお勧め:で

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

<span>{{ date | moment }}</span> 

[demo]

+0

感謝を使用!私はそれを長い間解決しようとしています。あなたはそれを保存する:) –

+2

どのように毎秒のビューで時間を更新することができます – riliwanrabo

+1

es6を使用する場合、忘れないでください - '瞬間'からのインポートの瞬間; – patie

18

をあなたのpackage.json"dependencies"セクションに、瞬間が追加されます:

あなたは瞬間を使用したいコンポーネントで
"dependencies": { 
    "moment": "^2.15.2", 
    ... 
} 

、それをインポートします。

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

と同じコンポーネントで計算されたプロパティを追加します。このテンプレートで

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

そしてをコンポーネント:

<p>{{ timestamp }}</p> 
+1

のためのおかげでそれがあれば、代わりにパラメータレス機能を使っての、あなたのような機能を利用したいということは注目に値します: 'date2day:機能(日付){リターンモーメント(日).format(「DDDD」)} ' あなたは' computed'を使うことはできません。代わりに 'methods'を使うべきです。 – andresgottlieb

7

私はVue 2.0をシングルファイルコンポーネントで動作させました。あなたはVUEを持っているフォルダ内の

npm install momentプロジェクトは、単一ページのアプリケーション、(vue init webpack myprojectによって作成などのプロジェクト)、 ある場合

<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> 
+0

なぜ方法、なぜ計算されませんか? –

+0

表示のために、メソッドを使用しました。計算されたプロパティを自由に使用してください。 – max

17

をインストールし、私はこの方法が最も直感的で簡単ですが見つかりました:

main.jsあなたのTEMPに続いて

import moment from 'moment' 

Vue.prototype.moment = moment 

後半、単に

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

シンプルで完璧なプロジェクトだと思います。ありがとう@Geng –