这是angularjs中最好的过滤器或指令?

时间:2015-09-12 18:54:48

标签: angularjs filter

我试图将日期字符串转换为格式化日期。我找到了3个选项,有人可以帮助我哪个是最佳解决方案?

vm.dateString = "03-06-2015 12:11:00";

1. <div>{{convertToDate(vm.dateString)}}</div>
2. <div>{{vm.dateString | convertDate}}</div>

3. <div convertDate={{vm.dateString}}></div>

   someModule.directive('convertDate', function() {
     return {
       scope: {
         convertDate: '@'
       },
       controller : function($scope) {
         function convertToDate (dateString) {
           ....
           return date;
         }
         $scope.date = convertToDate($scope.converDate);
       },
       template: '{{date}}'
    };
  });

1 个答案:

答案 0 :(得分:3)

我认为最好的方法是使用过滤器进行此类任务(Angular已经有一个内置日期过滤器。Angular Docs

因为:

输入=&gt;输出,通过一些操作,过滤器是最好的方法。

为什么不指令?

指令适用于dom操作,它们为您提供了相应的工具。

为什么不是控制器?

控制器有一个控制任务,他们不做这些事情,他们将工作委托给其他人,这是一个存在,另一个,如果你需要,你怎么能在你的项目中使用这个逻辑?