2017-11-17 4 views
1

私はangle jsを初めて使っています。私は角APIリファレンスを通り過ぎました。 私はangular.bind(self、fn、args)という関数を見ていました。 この関数の使い方を理解できませんでした。 1つの例で誰でもこの機能を説明できますか?angular.bind(self、fn、args)の使い方

答えて

1

これは、で使用されています。機能のカリングです。 JavaScriptを使用して例:

var concat = function(input1) { 
    return function(input2) { 
    console.log(input1 + ", " + input2); 
    }; 
}; 

var externalFunction = concat("Hello"); 
externalFunction("World!"); // gives: "Hello, World!" 

これは一例concant("Hello")代わりにconcant("Hello","World!")のため、一部のパラメータだけではなく、すべてを使用することができます。定義された変数をパラメータの1つとして使用するのに対し、ユーザ入力から2番目の変数を入力すると想像することができます。同じ概念がAnuglarJSで使用することができます:

<html> 
 
<head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.2/angular.min.js"></script> 
 
</head> 
 
<body ng-app="app"> 
 
    <div ng-controller="bindController"> 
 
     <input type="number" ng-model="num" ng-change="AddValue()" /> 
 
     Adding 5: {{Add}} 
 
    </div> 
 
</body> 
 
</html> 
 
<script> 
 
    var app = angular.module("app", []); 
 
    app.controller('bindController',['$scope',function($scope){ 
 
     $scope.num = 30; 
 
     $scope.AddValue = function() { 
 
      var addData = angular.bind(this, function (a, b) {return a + b;}); 
 
      $scope.Add = addData(5, $scope.num); 
 
     } 
 
     $scope.AddValue(); 
 
    }]); 
 
</script>

1

コントローラ

app.controller('Identity`enter code here`Controller', ['$scope', 
    function($scope) { 
    $scope.Name = ""; 
    $scope.Result = ""; 
    var greet = function (greeting, punctuation) { 
    $scope.Result = greeting + ' ' + $scope.Name +''+ punctuation; 
    }; 
    $scope.callBind = function() { 
    var bound = angular.bind(this, greet, 'Welcome'); 
    bound('!!!!!'); 
    }; 
}]); 

HTML

私はその作業

考える
<fieldset style="background-color:#DDE4E9;">   
    <legend>AngulerJS $scope.bind() Example</legend>   
     <div ng-controller="IdentityController">   
      <p>{{Result}}</p> 
      <input ng-model="Name">  
      <button ng-click="callBind()">Call Bind</button> 
     </div> 
</fieldset> 

関連する問題