我看到在自定义我们自己的过滤器时,我们需要将数据作为过滤器函数中的过滤输入,但在函数内部我看到如下:
input = input || ' '
。
代码
angular.module('myReverseFilterApp', []).filter('reverse', function() {
return function(input, uppercase) {
input = input || '';
var out = "";
for (var i = 0; i < input.length; i++) {
out = input.charAt(i) + out;
} // conditional based on optional argument
if (uppercase) {
out = out.toUpperCase();
}
return out;
};
})
.controller('MyController', ['$scope', function($scope) {
$scope.greeting = 'hello';
}]);
答案 0 :(得分:0)
关于这个问题的一点是,如果输入没有在过滤器中作为参数给出的值,则使用空字符串初始化输入值。
所以基本上如果您从return function(input, uppercase) {
输入的值没有值(例如'dog'),则输入将为空(它将采用空字符串值''
。
所以||是OR operator
。这意味着如果输入为undefined
,null
或0
,则会输入第二个值。
如果您还有其他问题,请拍摄:D。
答案 1 :(得分:0)
如果值未定义或为null,则设置输入变量的默认值。
您将注意到input.charAt(i)
,如果输入的值为null或未定义,则会发生引用错误,因为charAt方法是正确字符串的方法。