国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Angular 理解module和injector,即依賴注入

2019-11-20 09:03:28
字體:
來源:轉載
供稿:網友

依賴注入(DI)的好處不再贅言,使用過spring框架的都知道。angularjs作為前臺js框架,也提供了對DI的支持,這是javascript/jquery不具備的特性。angularjs中與DI相關有angular.module()、angular.injector()、 $injector、$provide。對于一個DI容器來說,必須具備3個要素:服務的注冊、依賴關系的聲明、對象的獲取。比如spring中,服務的注冊是通過xml配置文件的<bean>標簽或是注解@Repository、@Service、@Controller、@Component實現的;對象的獲取可以ApplicationContext.getBean()實現;依賴關系的聲明,即可以在xml文件中配置,也可以使用@Resource等注解在java代碼中聲明。在angular中,module和$provide相當于是服務的注冊;injector用來獲取對象(angular會自動完成依賴的注入);依賴關系的聲明在angular中有3種方式。下面從這3個方面,介紹下angular的DI。

1、angular.module()創建、獲取、注冊angular中的模塊

The angular.module() is a global place for creating, registering and retrieving Angular modules.When passed two or more arguments, a new module is created. If passed only one argument, an existing module (the name passed as the first argument to module) is retrieved。

// 傳遞參數不止一個,代表新建模塊;空數組代表該模塊不依賴其他模塊var createModule = angular.module("myModule", []);// 只有一個參數(模塊名),代表獲取模塊// 如果模塊不存在,angular框架會拋異常var getModule = angular.module("myModule");// true,都是同一個模塊alert(createModule == getModule);

該函數既可以創建新的模塊,也可以獲取已有模塊,是創建還是獲取,通過參數的個數來區分。

angular.module(name, [requires], [configFn]);

name:字符串類型,代表模塊的名稱;

requires:字符串的數組,代表該模塊依賴的其他模塊列表,如果不依賴其他模塊,用空數組即可;

configFn:用來對該模塊進行一些配置。

現在我們知道如何創建、獲取模塊了,那么模塊究竟是什么呢?官方的Developer Guide上只有一句話:You can think of a module as a container for the different parts of your app

主站蜘蛛池模板: 肥城市| 温州市| 隆化县| 紫阳县| 罗田县| 大悟县| 寿阳县| 中江县| 龙泉市| 庆阳市| 怀远县| 奉节县| 峨山| 革吉县| 廉江市| 安仁县| 南通市| 永胜县| 郯城县| 富阳市| 星座| 新安县| 沧源| 三明市| 东阿县| 白水县| 西贡区| 阿尔山市| 万源市| 蒙自县| 临高县| 乌兰浩特市| 米脂县| 黑河市| 霸州市| 辉南县| 镇巴县| 平邑县| 隆安县| 佛教| 福泉市|