javascript - 在 AngularJs 的服务中注入(inject) dateFilter

标签 javascript angularjs angularjs-service

我想知道是否有办法在 AngularJs 的服务中注入(inject)过滤器。

我一直在努力

app.factory('educationService', [function($rootScope, $filter) {

    // ..... Some code

    // What I want
    console.log(dateFilter(new Date(), 'yyyy-MM-01'));

    // ..... Some code

}]);

所以我想知道是否可以在服务中注入(inject)过滤器,或者是否可以通过其他方式访问它。

如果您有关于这一点的文档的链接,那将是非常好的 :) 在 Angular 的文档中进行搜索,但我没有发现任何有用的信息。

谢谢:)

最佳答案

首先你必须像这样注入(inject)过滤器:

app.factory('myService', ['$rootScope', '$filter', function($rootScope, $filter) 

(仅当您在构建过程中使用缩小时才需要该数组)

以编程方式调用特定过滤器:

$filter('date')(new Date(), 'yyyy-MM-01');

$filter(name)返回特定的过滤函数,你可以用你的参数调用它:

var dateFilter = $filter('date');
var filteredDate = dateFilter(new Date(), 'yyyy-MM-01')

关于javascript - 在 AngularJs 的服务中注入(inject) dateFilter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15408336/

相关文章:

javascript - 为什么javascript在使用替换时只替换第一个实例?

javascript - Angular 更优雅的隐藏/显示模式吗?

javascript - 在angularjs中获取具有相同名称的表单的所有值

javascript - AngularJS,在服务中使用 promise

javascript - 在我的服务工厂中,我查找一个大型数据集 - 我想保留它并检查它是否存在以避免再次调用它

javascript - WordPress 主题预览器?从哪儿开始?

javascript - 如何防止 iframe 访问父框架?

javascript - 如果 AngularJS 中的 Api 服务状态 == 404,则记录消息

javascript - 将 div 居中放在 Canvas 的顶部,该 Canvas 的大小响应于 window.innerWidth 和 window.innerHeight

javascript - 如何使用 angularjs 保持打开的 div 框