私は、ムービーオブジェクトとその関連情報をVueアプリケーションに返すdjango(django-rest-framework)を提供するAPIを持っています。情報の1つはムービーの長さです。HH:MM:SSの時刻形式を変更する
オブジェクト:
{
"movie_id": 13,
"duration": "17:52:14",
...
...
},
コンポーネントテンプレート:
<div id="movieDetailSynopsis">
...
...
<p>Duration: {{movie.duration}}</p>
</div>
期間は、このフォーマットである
HH:MM:SS
eg: 02:22:08
しかし、私はそれが見えるようにしたいことは、このようにしている
2h 22m
これはdjangoまたはvuejsまたはjavascriptでこれを達成するにはどうしますか?
更新:コンポーネントテンプレート内の
new Vue({
router,
components: {App},
template: '<App/>',
store,
filters: {
durationFormat(value) {
const duration = moment.duration(value);
return duration.hours() + 'h ' + duration.minutes() + 's';
}
}
}).$mount('#app');
:
がグローバルに
main.jsフィルタを使用してみました
<div id="movieDetailSynopsis">
...
...
<p>Duration: {{movie.duration | durationFormat}}</p>
</div>
をしかし、私はエラーを取得する:
[Vue warn]: Failed to resolve filter: durationFormat (found in anonymous component - use the "name" option for better debugging messages.)
私は、任意の日付/時刻の操作やフォーマットのためmoment.jsを使用することをお勧めしますhttps://momentjs.com/ – anvk