我是棱角分明的新手。我经历了角度api参考, 我见过名为angular.bind的函数(self,fn,args)。 我无法理解这个功能的用法。任何人都能用一个例子来解释这个功能吗?
答案 0 :(得分: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!")
。您可以想象使用定义的变量作为参数之一,而您从用户输入填写第二个。 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>
&#13;
答案 1 :(得分: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>
我认为它的工作