angularjs - 当我格式化 html 中的内容时,orderBy 不起作用

标签 angularjs angularjs-orderby

<tr ng-repeat="data in PackagesData | orderBy : filterOption">
<td>{{data.name}}</td>
<td>{{data.packageType}}</td>
<td>{{convertDateFormatNormal(data.createdDate)}}</td>
</tr>

$scope.convertDateFormatNormal = function (date) {
        if(date){
            var dateFormatChange = new Date(date);
            var dateChanged = $filter('date')(dateFormatChange, "dd/MM/yyyy");
            return dateChanged;
        }
    };

orderBy 中的filterOption 可以是任何名称、packageType 或createdDate。但名称和包类型按预期工作,但 orderBy 不适用于createdDate,因为我将日期格式从 mm/dd/yyyy 转换为 dd/mm/yyyy 以在 HTML 中显示,但它仍然仅按 mm/dd/yyyy 顺序排序。

最佳答案

在 Angular JS 中,排序取决于范围变量的格式,而不是 html 中的打印格式。如果您想使用 dd/mm/yyyy 格式对其进行排序,则必须在 js 文件中格式化日期,并通过循环遍历“PackagesData”对象将其存储在“modified_date”等键中,然后输入 {{modified_date}}在 html 中并按“modified_date”过滤它。 我曾经遇到过同样的问题,但我是这样解决的。

关于angularjs - 当我格式化 html 中的内容时,orderBy 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44609662/

相关文章:

javascript - AngularJS 分页 orderBy 只影响显示的页面

javascript - 具有自定义功能的 AngularJS OrderBy

javascript - 如何遍历JS对象和里面的所有数组和对象,与它的副本进行比较?

javascript - 你如何设计像 DIV 这样的自定义元素?

javascript - AngularJS 两个具有共享模型的 Controller , Controller 2 没有看到模型的更改

javascript - 如何对 1 :1 object map in Angular JS ng-repeat 进行排序

javascript - 根据 AngularJS 中的两个变量进行升序排序/排序

javascript - 对 AngularJS 中的复选框值进行排序

javascript - Uncaught ReferenceError : Tankvalue is not defined

javascript - Json Api Auth post请求到wordpress后端