1. 程式人生 > >angular 學習總結 2

angular 學習總結 2

ice ram second 出現 點擊 設計模式 模塊 實例 實現

angular 生命周期

  link函數可接受三個或四個參數,分別為:scope;ele;ettrs

  scope:該指令的作用域

  ele :指令元素

  attrs指令上的屬性

  Link:function(scope,ele,attrs){

  ele.children().css("background","red"); //修改樣式

  ele on("click",function(e){ //加入點擊方法

  console.log(e.target)

  });

  scope.name="三"; // scope 表示作用域

  }

link函數中的require指令

  require相當於連接橋的作用

  <first-directive>

    <second-directive></second-directive>

  </first-directive>

  app.directive("firstdirective",function($scope){    //自定義指令

  return{

    controller:["$scope",function($scope){

    $scope.firstname="first";

    this.info={

        name:$scope.firstname

        age:30

        }

      }]

    }

  })

  app.directive("seconddirective",function(){    //自定義指令

    return{

      template:<div><h1>第二個指令</h1></div>

      link:function(scope,ele,attrs){

      })

    }

  })

  因為第一個指令沒有寫template模板,所以頁面顯示 “第二個指令”,若第一個謝了template,則頁面不在顯示第二條指令,而被第一條指令中的內容代替。

@ 註意一個定義:controller:["$scope" function($scope){

  this.name="thirdDirective"}] //內聯式註入

$http服務

  $http服務對瀏覽器原生的XmlHttpRequest對象進行封裝

  調用的$http方法後,返回一個promise對象,進行下一步操作

  status(狀態碼):200 代表成功

  app.controller(‘mycontroller‘,["$scope","$http",function($scope,$http){

  $http({

    method:"GET"

    url:"./data.json"

  params:{

    name:"$http服務";

    } 

  }).then(function(res){

    console.log(res.data);

    })

  }])

  $watch:監聽 每當有一個模型與視圖進行綁定時,angular便會創建一個監聽放到監聽列表中去。

-----依賴註入 PS:重點,也是開發中的重要部分

  先看一段標準的路由代碼:

  <div ui-view></div>  //將匹配到的ui路由規則時,將其渲染到ui-view 中去,

  技術分享圖片

  此處不再詳解,具體看視頻教程 見下方。

  依賴註入定義:源出現於Java, c#等語言,是一種控制反轉的軟件設計模式,

  註入:將被被依賴的對象實例,,傳遞給依賴對象的行為,而不需要依賴自己創建或查找他們所需對象

  // 手動創建所需對象的實例

  var person=function(){}

 var person=new person();

  依賴註入有三個角色:調用者(client) 服務(service) 註入者(injector)

  簡單示意:調用者(client)只需知道(service)服務的具體接口。而具體服務(service)的查找和創建由註入者(injector)負責處理,並提供給調用者client.

  

  第一個依賴註入的實例

  var myAPP=angular.module("myapp" []);

  myapp.controller("mycontroller" ,["$scope",function($scope){

  //此可填寫一些內容,

  }])

   angular依賴註入的實現步驟分三步:

  1)得到模塊的依賴項,通過參數列表也就是$scope

  2) 查找該依賴項所對應的對象

  3)執行時註入對象

-------------------------------------

  angular 一般按照參數查找依賴,而混淆方式將參數變為無意義的代碼,因此會影響推斷註入。

angular 學習總結 2