2016-05-23 40 views
0

我是學習JavaScript的新手。任何人都可以通過其演示示例向我介紹依賴注入的知識。所以我從那裏學到了東西。沒有好的和明確的鏈接,我從谷歌搜索發現。使用Angular Javascript的精確示例的依賴注入

+1

這是不可能的,你不能找到任何好的和明確的解釋谷歌的依賴注入和角度的主題。 –

+0

我發現了一個很棒的。 [Angular Docs](https://docs.angularjs.org/guide/di) –

回答

0

依賴關係 注入是一種設計模式,允許刪除硬編碼的依賴關係,從而使得在運行時刪除或更改它們成爲可能。

一般情況下,只有三個辦法一個對象可以得到它的依賴關係的保持:

  1. 我們可以在內部創建它的依賴。
  2. 我們可以查看它或將其稱爲全局變量。
  3. 我們可以將它傳遞到需要的地方。

依賴注入,我們正在應對第三way.We不按照第2種方式,因爲一個好的程序員從來不髒全球範圍內,這將是困難的代碼的隔離。

這種在運行時修改依賴關係的功能允許我們創建適用於測試的獨立環境,它們是 。我們可以用生產環境中的真實對象替換爲 測試環境。

例如,讓我們考慮這個簡單的應用程序,聲明瞭一個模塊和一個控制器,像這樣:

angular.module('myApp', []) 
 
.factory('greeter', function() { 
 
return { 
 
greet: function(msg) { alert(msg); } 
 
} 
 
}) 
 
.controller('MyController', 
 
function($scope, greeter) { 
 
$scope.sayHello = function() { 
 
greeter.greet("Hello!"); 
 
}; 
 
});

在運行時,當角實例的實例我們模塊,它查找歡迎,並且簡單地通過它自然地 。

在上面的例子中,我們沒有描述如何找到迎賓者;它很簡單,因爲 注射器負責爲我們找到並加載它。

如需進一步參考,請訪問Angularjs Modularization and Dependency injection,這可以幫助您更好地瞭解。

+0

服務和工廠有什麼區別?你能用實例來形容我嗎? –

+0

我希望http://stackoverflow.com/questions/23074875/angularjs-factory-and-service可以幫助你。 –