AngularJs angular.bind、angular.bootstrap、angular.copy

angular.bindbootstrap

返回一個調用self的函數fn(self表明fn裏的this).能夠給fn提供參數args(*).這個功能也被稱爲局部操做,以區別功能。數組

格式:angular.bind(self,fn,args);瀏覽器

self:object  對象; fn的上下文對象,在fn中能夠用this調用函數

fn:function; 綁定的方法學習

args:傳入fn的參數測試

使用代碼: this

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!!!

bind顧名思義綁定的意思,那麼假如咱們要把A綁到B上,那麼必須又有綁定的東西和被綁定的東西。這裏須要的就一個對象和一個函數。那麼怎麼綁?本獸的理解是把對象「綁」到函數的this上去執行,這時候fn的this就等於obj了,至於第三個參數,無關緊要,看需求,若是函數須要傳入參數,那麼咱們能夠把angular.bind的第三個參數放上去,這就是傳入fn函數的參數了。spa

案例中第一種寫法是定義綁定的時候就把fn所需的參數傳進去了,調用的時候直接用,而案例中第二種寫法是先綁定,在調用執行的時候再給fn傳參,效果是同樣的...翻譯

angular.bootstrapcode

使用這個功能來手動啓動angular應用。基於ngScenario的端對端測試不能使用bootstrap手動啓動,須要使用ngApp.

Angular會檢測應用在瀏覽器是否已啓動而且只容許第一次的啓動,隨後的每次啓動都將會致使瀏覽器控制檯報錯.

這能夠防止應用出現多個Angular實例嘗試在Dom上運行的一些奇異結果.

格式:angular.bootstrap(element,[modules]);

element:Dom元素,angular應用啓動的根節點

modules:數組,angular的應用程序模塊

使用代碼:

  <div id="ngApp">
     <div ng-controller="testCtrl as ctrl">
         {{ctrl.value}}
     </div>
  </div>
  (function () {
      angular.module("Demo", [])
      .controller("testCtrl", testCtrl);
      function testCtrl() {
          this.value = "Hello World";
      }
      angular.bootstrap(document.getElementById("ngApp"), ["Demo"]);
  }());

通常來講,咱們寫ng程序,都會在頁面Dom元素上寫ngApp指令用來啓動Angular程序,可是也可能出現一些特殊狀況須要咱們在啓動以前幹些什麼或者須要咱們手動啓動應用程序,這時候angular.bootstrap就派的上用場了。

angular.copy

針對對象或數字建立一個深層的拷貝。

格式:angular.copy(source, [destination]);

source:被拷貝的對象

destination:接收的對象 [注意:參數類型是對象或數組]

使用代碼:

var objA, objD = []; //objA:undefined objD:[]
var objB = { text: "Hello World" };
var objC = {text:"Hai",value:"Test"};
objA = angular.copy(objB); // objA:{ text:"Hello World"} objB:{ text:"Hello World"}
angular.copy(objC, objD);// objC:{text: "Hai", value: "Test"} objD:[text: "Hai", value: "Test"]

本獸對Angular API 逐個的學習而且進行翻譯,而後寫能運行成功的代碼,並把學習過程進行整理記錄及分享... 

相關文章
相關標籤/搜索