显示的北京时间只需在基础时间戳更改时更改.方法应该因此不被使用.而是使用计算属性或过滤器:
new Vue() {
data: {
time: /* Your timestamp */
},
computed: {
displayedTime() {
/* Convert `this.time` to Beijing time */
}
}
}
Run Code Online (Sandbox Code Playgroud)
在您的模板中,您可以执行以下操作:
{{ displayedTime }}
Run Code Online (Sandbox Code Playgroud)
虽然此解决方案有效,但您只能将其用于一个时间戳(在本例中time).我们来看一看如何使用过滤器执行此操作:
new Vue() {
data: {
time: /* Your timestamp */
},
filters: {
displayedTime(timestamp) {
/* Convert the `timestamp` argument to Beijing time */
}
}
}
Run Code Online (Sandbox Code Playgroud)
在您的模板中,您可以执行以下操作:
{{ time | displayedTime }}
Run Code Online (Sandbox Code Playgroud)
此解决方案的优点是,如果您的应用程序中的某个位置有另一个时间戳,则可以使用相同的过滤器:
{{ otherTime | displayedTime }}
Run Code Online (Sandbox Code Playgroud)
Vue.filter()如果要使此过滤器全局工作(在此Vue实例之外),请确保使用该方法.