0
是否可以修飾angular number
filter,如果它不是數字,則返回未修改的輸入?angular:'maybe'數字格式化程序
<my-tag input-value="{{foo() | number: 2}}"></my-tag>
當foo()
會返回1.2345,值應顯示1.23,但是當它返回「ABCD」,它將返回這一點:「ABCD」。
是否可以修飾angular number
filter,如果它不是數字,則返回未修改的輸入?angular:'maybe'數字格式化程序
<my-tag input-value="{{foo() | number: 2}}"></my-tag>
當foo()
會返回1.2345,值應顯示1.23,但是當它返回「ABCD」,它將返回這一點:「ABCD」。
如果你想用number
過濾器,你可以建立一個裝飾用@Ankh鏈接的建議,即對庫存:
app.config(['$provide', function($provide) {
$provide.decorator('numberFilter', ['$delegate', function($delegate) {
var srcFilter = $delegate;
var extendsFilter = function() {
// Put the logic you want here:
let val = arguments[0];
if (angular.isNumber(val)) {
return srcFilter.apply(this, arguments);
}
else if (angular.isString(val)) {
return val;
}
else {
// Or throw an error
return JSON.stringify(val);
}
}
return extendsFilter;
}])
}]);
看到這個plunker。
乍一看,我以爲你是對的。這將解決我目前的問題。不過,我希望它可以重複使用'date'過濾器,'currency'過濾器等等,而不需要N個具有相同裝飾代碼的實例。 – xtofl
我做了一個基於'ng-if'的小提琴,但是你的問題在我發佈我的答案之前就被鎖定了......你可以[在這裏檢查](https://jsfiddle.net/Mistalis/Lwhg1fuv/)。 – Mistalis