angular.bind
解釋:返回一個調用self的函數fn(self代表fn里的this).可以給fn提供參數args(*).這個功能也被稱為局部操作,以區別功能。
格式:angular.bind(self,fn,args);
self:object 對象; fn的上下文對象,在fn中可以用this調用
fn:function; 綁定的方法
args:傳入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!!!
接下來說說對angular.bind的理解吧~
bind顧名思義綁定的意思,那么假如我們要把A綁到B上,那么必須又有A和B這2個存在體。這里需要的2個存在體就一個對象和一個函數。那么怎么綁?@野獸的理解是把對象“綁”到函數的this上去執行,這時候fn的this就等于obj了,至于第三個參數,可有可無,看需求,如果函數需要傳入參數,那么我們可以把angular.bind的第三個參數放上去,這就是傳入fn函數的參數了。
案例中第一種寫法是定義綁定的時候就把fn所需的參數傳進去了,調用的時候直接用,而案例中第二種寫法是先綁定,在調用執行的時候再給fn傳參,效果是一樣的
對于那上面的英文句子(好吧,雖然只有2句),如果有寫錯了,那么說明深深的愛著我們的母語-中文;如果一不小心寫對了,那么請為這個裝的66666的B鼓掌~
文章最后,我們來看個實例吧
<!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>
新聞熱點
疑難解答