【发布时间】:2015-07-01 16:40:09
【问题描述】:
为了能够修复排序问题,我需要更改 Angular 库的比较方法。到目前为止,我只是直接更改了 angular.js 代码文件,但是当我们更新到较新版本时,它将丢失。我读到可以覆盖javascript中的方法。
我尝试了类似的方法,但没有成功:
angular.orderByFilter.compare = function (v2, v2) {
//Code goes here
}
任何想法如何覆盖该功能? 这是在 angularjs 文件中声明函数的方式:
function orderByFilter($parse) {
return function(array, sortPredicate, reverseOrder) {
function compare(v1, v2) {
var t1 = typeof v1;
var t2 = typeof v2;
if (t1 === t2 && t1 === "object") {
v1 = objectToString(v1);
v2 = objectToString(v2);
}
if (t1 === t2) {
if (t1 === "string") {
v1 = v1.toLowerCase();
v2 = v2.toLowerCase();
}
if (v1 === v2) return 0;
return v1 < v2 ? -1 : 1;
} else {
return t1 < t2 ? -1 : 1;
}
}
};
}
【问题讨论】:
-
不要覆盖它。创建您自己的过滤器。一些例子 - Scotch.io, Official Tutorial
标签: javascript angularjs overriding