浅析angular.identity

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>
	  </div>
	</body>
</html>

angualr.identity

发表评论

电子邮件地址不会被公开。 必填项已用*标注