用AngularJS表示日期——过滤器的成本有多高?



我认为角日期和货币过滤器真的很漂亮,但是我在网上看到一些评论说过滤器会对性能产生负面影响。我正在开发一个企业应用程序,它将处理所有不同类型的日期对象,我们希望根据用户设置呈现不同的格式。

根据我所读到的,直接在DOM中使用过滤器不是最好的方法,所以我想我将它提取到一个服务中。如你所知,angular文档留下了很多需要改进的地方,而且似乎有很多不同的方法来实现这一点。

最后,我只想使用angular内置的日期过滤器来呈现来自不同页面的有效负载的各种日期格式,以格式化该日期。此外,我们对日期和时间都有独立的用户设置。日期格式的选项有:MM/dd/yyyydd/MM/yyyy。时间格式化选项有:HH:MM:SSH:MM:SS A

我倾向于在服务中使用内置的日期过滤器。我认为理想的答案只需要包含一点伪代码就可以了。提前感谢您的时间。

也-请让我知道,如果你需要更多的信息或任何代码。

我第一次尝试就知道我做错了什么。如果有人正在寻找这个主题,下面是代码:

app.service('DateTimeService', ['$filter', function ($filter) {
    var self = this
    init()
    return self
    function init () {
        self.formatter = $filter('date')
        self.formatDate = formatDate
        self.formatTime = formatTime
    }
    function formatDate (time) {
        return self.formatter(time, settings.dateFormat)
    }
    function formatTime (date) {
        return self.formatter(date, settings.timeFormat)
    }
}])
// in the controller
DateTimeService.formatDate(dateObject)

最新更新