【发布时间】:2017-07-21 05:24:24
【问题描述】:
我有一个与 django (django-rest-framework) 一起提供的 api,它将电影对象及其相关信息返回到 Vue 应用程序中。其中一项信息是电影时长。
对象:
{
"movie_id": 13,
"duration": "17:52:14",
...
...
},
组件模板:
<div id="movieDetailSynopsis">
...
...
<p>Duration: {{movie.duration}}</p>
</div>
持续时间是这种格式
HH:MM:SS
例如:02:22:08
但我希望它看起来像这样
2 小时 22 米
有没有办法在 django 或 vuejs 或 javascript 中实现这一点?
更新:
尝试使用全局过滤器
main.js:
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');
组件模板内部:
<div id="movieDetailSynopsis">
...
...
<p>Duration: {{movie.duration | durationFormat}}</p>
</div>
但我得到一个错误:
[Vue 警告]:无法解析过滤器:durationFormat (在匿名组件中找到 - 使用“名称”选项更好地调试消息。)
【问题讨论】:
-
我建议使用 moment.js 进行任何日期/时间操作或格式 momentjs.com
标签: javascript django vuejs2 vue.js