Maison  >  Article  >  interface Web  >  expérience d'utilisation d'angular.bind_AngularJS

expérience d'utilisation d'angular.bind_AngularJS

WBOY
WBOYoriginal
2016-05-16 15:35:16966parcourir

angular.bind

Explication : renvoie une fonction fn qui appelle self (self représente cela dans fn). Les paramètres args (*) peuvent être fournis à fn. Cette fonction est également appelée opération locale pour distinguer la fonction.

Format : angulaire.bind(self,fn,args);

self : object object ; l'objet contextuel de fn, qui peut être appelé avec ceci dans fn

fn : fonction ; méthode de liaison

args : paramètres passés dans fn

  var obj = { name: "Any" };
  var fn = function (Adj) {
    console.log(this.name + "is a boy!!! And he is " + Adj + " !!!");
  };
  var f = angular.bind(obj, fn, "handsome");
  f();//Any is a boy!!! And he is handsome!!!
  var t = angular.bind(obj, fn);
  t("ugly");// Any is a boy!!! And he is ugly!!!

Parlons de notre compréhension d'angular.bind~

bind signifie liaison comme son nom l'indique, donc si nous voulons lier A à B, alors il doit y avoir deux entités, A et B. Les deux entités nécessaires ici sont un objet et une fonction. Alors comment l'attacher ? La compréhension de @Beast est de "lier" l'objet à this de la fonction pour l'exécution. À ce stade, this of fn est égal à obj. Quant au troisième paramètre, il est facultatif. Cela dépend des besoins de la fonction. pour passer des paramètres, alors nous pouvons mettre le troisième paramètre de angulaire.bind, qui est le paramètre passé dans la fonction fn.

La première façon d'écrire dans le cas est de transmettre les paramètres requis par fn lors de la définition de la liaison, et de les utiliser directement lors de l'appel. La deuxième façon d'écrire dans le cas est de lier d'abord, puis de l'utiliser lors de l'appel et. l'exécution. Passer des paramètres à fn a le même effet

Pour les phrases en anglais ci-dessus (enfin, même s'il n'y a que 2 phrases), s'il y a des erreurs, cela signifie que nous aimons profondément notre langue maternelle - le chinois, si vous l'avez accidentellement écrit correctement, alors veuillez soutenir cet Applaudissements ; à B qui prétend être 66666~

À la fin de l’article, regardons un exemple

<!DOCTYPE HTML>
<html ng-app>
<head>
</head>
<script src="http://code.angularjs.org/1.2.3/angular.min.js"></script>
</body>
<script>
   
 var self = {name:'boyi'};
 
 //示例1--带参数
 var f = angular.bind(self, //绑定对象,作为函数的上下文
  //被绑定的函数
  function(age){ 
   alert(this.name + ' is ' + age + ' !');
  },
  //绑定的参数,可省略
  '15'
 );
 f();//调用绑定之后的function
  
 //示例2--不带参数
 var m = angular.bind(self, //绑定对象,作为函数的上下文
  //被绑定的函数
  function(age){ 
   alert(this.name + ' is ' + age + ' !');
  }
  //省略参数
 );
  
 m(3);//调用传参的函数		
 
</script>

</body>	
</html>

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn