angular.identity这个函数比较简单,官方文档也就简单的交代了下。
使用方法:当你用函数风格书写时,它返回的是函数的一个参数。

function transformer(transformationFn, value) {
    return (transformationFn || angular.identity)(value);
};

需要额外说明的是:这里面的transformationFn是第一个参数,它将把value作为自己的参数来执行。如果transformation传递的是null或者undefined的话,angular.identity把value作为自己的参数来执行。
示例如下:

var app = angular.module('myApp', []);
app.controller('myCtrl', ['$scope', function($scope) {
  $scope.result = "";
  $scope.input = "";
  $scope.double = function(n) {
    return n * 2;
  }
  $scope.answer = function(fn, val) {
    return (fn || angular.identity)(val);
  }
  $scope.cal = function() {
    $scope.result = $scope.answer($scope.double, $scope.input);
  }
}]);
<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="UTF-8">
<script src="../js/Angular1.5.5.js" ></script>
<script src="../js/angular-sanitize.js" ></script>
<script src="index.js" ></script>
<title>angular.identity</title>
</head>
<body>
    <div ng-controller="myCtrl">
        <input type="text" id="btn" ng-model="input" value="answer" ng-change="cal()"/> * 2 = {{result}}
    </div>
</body>
</html>

angualr.identity

分类: AngularJS

发表评论