我想将时间戳转换为北京时间。我应该使用过滤器还是方法来实现此功能?有什么区别,比如性能上的区别?
仅当基础时间戳更改时,显示的北京时间才需要更改。方法因此应该not be used https://v2.vuejs.org/v2/guide/computed.html#Computed-Caching-vs-Methods。而是使用计算属性或过滤器:
使用计算属性
new Vue() {
data: {
time: /* Your timestamp */
},
computed: {
displayedTime() {
/* Convert `this.time` to Beijing time */
}
}
}
在您的模板中,您可以执行以下操作:
{{ displayedTime }}
虽然此解决方案有效,但您只能将其用于一个时间戳(在本例中time
)。让我们看看如何使用过滤器来做到这一点:
使用过滤器
new Vue() {
data: {
time: /* Your timestamp */
},
filters: {
displayedTime(timestamp) {
/* Convert the `timestamp` argument to Beijing time */
}
}
}
在您的模板中,您可以执行以下操作:
{{ time | displayedTime }}
此解决方案的优点是,如果应用程序中的某个位置有另一个时间戳,则可以使用相同的过滤器:
{{ otherTime | displayedTime }}
确保使用Vue.filter() https://v2.vuejs.org/v2/api/#Vue-filter方法,如果你想让这个过滤器全局工作(在此之外Vue
实例)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)