AngularJS 核心特性之服務

2021-07-10 20:30:57 字數 1570 閱讀 8650

在之前幾篇文章中,提到了angularjs幾個核心特性,今天繼續來看看ng的服務(service)。

首先服務是乙個單例,即無論這個服務被注入到任何地方,物件始終只有乙個例項。

其次這與我們自己定義乙個function然後在其他地方呼叫不同,因為服務被定義在乙個模組中,所以其使用範圍是可以被我們管理的。ng的避免全域性變數汙染意識非常強。

ng提供了30多個內建的服務,可以到api中 以及service api中進行檢視學習。我們依靠ng的依賴注入機制把服務注入到controller、指令或者是其他服務中,對服務進行使用。

如同指令一樣,系統內建的服務以$開頭,我們也可以自己定義乙個服務。定義服務的方式有如下幾種:

※ 使用module的factory方法

※ 使用module的service方法

※使用系統內建的$provide服務

用**說明如下:

var yxmtestservices = angular.module('yxmtestservices', );  

yxmtestservices.factory('facetorytest', ['$window',         //factory方式  

function($window)  

};  

$window.alert('aaaa');         //內建服務可以注入  

return test;  

}  ]);  

yxmtestservices.service('servicetest', ['$window',          //service方式  

function($window)  

}  ]);  

yxmtestservices.provider('providertest',[                  //provider方式,內建服務不可以注入  

function()  

this.$get = function () ;  

}  ]);

congtroller呼叫定義模組,controller.js

//以注入的方式來呼叫yxmtestcontrollers.controller('testctrl',['$scope',"facetorytest","servicetest","providertest",  

function($scope,facetory111,service111,provider111)

]);

'ngroute',

'yxmtestcontrollers', //上面定義的controller

'yxmtestservices' //上面自定義的服務

]);

html呼叫顯示

}}

}  

值得注意的是,angular services依賴注入的規範:自定義的service要寫在內建的angular services之後,自定義的service之間是沒有先後順序的。

關於AngularJS學習整理 核心特性

接觸 學習angularjs已經三個多月了,隨著學習的深入,有些東西剛開始不明白,現在開始慢慢明白起來。於是,開始整理這幾個月的學習成果。要不又要忘了。步入正題。學習angular,首先得了解 熟知 掌握它的四大核心特性。一 mvc模式 model 模型 是應用程式中用於處理應用程式資料邏輯的部分,...

關於AngularJS學習整理 核心特性

接觸 學習angularjs已經三個多月了,隨著學習的深入,有些東西剛開始不明白,現在開始慢慢明白起來。於是,開始整理這幾個月的學習成果。要不又要忘了。步入正題。學習angular,首先得了解 熟知 掌握它的四大核心特性。一 mvc模式 model 模型 是應用程式中用於處理應用程式資料邏輯的部分,...

angularJS核心原理

一 angularjs優點和缺點 優點 1.1免去重複勞動 獲取元素 給元素加事件 建立元素 1.2接管ui angularjs根據資料建立ui元素,免去手工建立ui元素。1.3自動同步 根據資料個數建立對應的html元素。缺點 二 angularjs一切皆資料 三 angularjs三要素 4.1...