2014-10-20 51 views
0

我试图从记录集中的数据库中检索日期,并在视图中以mm/dd/yy mm:ss格式显示日期。是否有可能在检索时拦截模型中的数据,并在那里进行格式化,而不是在控制器中循环记录集并在控制器中重新格式化日期,然后将其发送到视图。重新关闭日期格式

有没有在句柄中的方式来格式化视图中的日期而无需编写辅助函数?

请帮忙。

谢谢。

回答

1

要格式化所有数据,我创建了一个服务“utils”,并将它传递给像moment.js这样的格式化库。你的问题是,如果把手可以这样做,我不知道,但这种方法可以让你自由地使用任何图书馆。参考http://sailsjs.org/#/documentation/concepts/Services

这个“utilService”有几个库帮助格式化。

// utilService.js - in api/services 
var changeCase = require("change-case"), 
    moment = require("moment"), 
    numeral = require("numeral");  

module.exports = { 
    numeral : numeral, 
    moment : moment, 
    changeCase : changeCase 
} 

然后我可以使用它在我的视图页面为utilService.moment(DATE).format( 'YYYY-MM-DD')

+0

谢谢你的答案。你如何在控制器中使用它?说一个find方法返回recordset obj数组,你如何格式化记录集中的一个字段的数据,而不将它循环并在发送到视图之前? – 2014-10-21 07:04:47

+0

完全相同的方式。您必须确保服务全球化http://sailsjs.org/#/documentation/concepts/Globals,然后您只需使用utilService.moment(DATE).format('YYYY-MM-DD') – Meeker 2014-10-21 14:55:07