首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在vue.js中,过滤器和方法有什么区别?

在vue.js中,过滤器和方法有什么区别?
EN

Stack Overflow用户
提问于 2017-12-22 10:33:21
回答 1查看 4.8K关注 0票数 5

我想把时间戳换成北京时间。我应该使用过滤器或方法来实现这个特性吗?有什么不同,比如性能上的差异?

EN

回答 1

Stack Overflow用户

发布于 2017-12-22 10:52:40

显示的北京时间只有在底层时间戳更改时才能更改。方法 be used法。相反,使用计算属性或筛选器:

使用计算属性

代码语言:javascript
复制
new Vue() {
  data: {
    time: /* Your timestamp */
  },
  computed: {
    displayedTime() {
      /* Convert `this.time` to Beijing time */
    }
  }
}

然后,在模板中可以这样做:

代码语言:javascript
复制
{{ displayedTime }}

虽然此解决方案有效,但只能使用一个时间戳(在本例中为time)。让我们来看看如何使用过滤器来完成这个任务:

使用过滤器

代码语言:javascript
复制
new Vue() {
  data: {
    time: /* Your timestamp */
  },
  filters: {
    displayedTime(timestamp) {
      /* Convert the `timestamp` argument to Beijing time */
    }
  }
}

然后,在模板中可以这样做:

代码语言:javascript
复制
{{ time | displayedTime }}

此解决方案的优点是,如果应用程序中有另一个时间戳,则可以使用相同的筛选器:

代码语言:javascript
复制
{{ otherTime | displayedTime }}

如果希望使此筛选器在全局(此https://v2.vuejs.org/v2/api/#Vue-filter实例之外)工作,请确保使用该Vue方法。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47940007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档