6
我正在嘗試爲AngularJS編寫我的第一個自定義過濾器。我希望能夠確定某物是字符串還是數字。如果是數字,則使用內置過濾器| number
對其進行格式化。AngularJS自定義文本過濾器/編號
我目前have a workaround using ng-if
:
HTML
<table>
<tr ng-repeat="(key, val) in data">
<td>{{key}}</td>
<td ng-if="isNumber(val)">{{val | number}}</td>
<td ng-if="!isNumber(val)">{{val}}</td>
</tr>
</table>
控制器:
$scope.data = {
One:55689,
two:"consider all the options",
three:800243,
four:"all over",
five:"or just beginning"
};
$scope.isNumber = function (value) {
return angular.isNumber(value);
};
我想這會是一個更好的解決方案,以將其指定爲它自己的過濾器雖然。這是我到目前爲止(是的,我知道這是光禿禿的骨頭......這是我的第一個)。
.filter('textOrNumber',function(){
return function (input) {
if(typeof input === 'number'){
console.log("I'm a number");
//return as formatted number
} else {
console.log("Not a number");
//do nothing, just return
};
return input;
};
})
當確認是一個數字,可我只是把它應用的角度| number
過濾器?或者我需要手動使用JavaScript自己做過濾器?
這是完全正確的。我知道它可以像這樣簡單。我沒有看過'$ filter'。我必須這樣做才能更好地理解它的能力。 – EnigmaRM