angularjs的使用:模块,服务,控制器(2)

1. *模块

1.1 在AngularJS中,模块是定义应用的最主要方式。模块包含了主要的应用代码。一个应用可以包含多个模块,每一个模块都包含了定义具体功能的代码。

1.2 定义模块:

var myModule = angular.module("HelloAngular", []);
参数一:name(字符串),name是模块的名称,字符串变量。
参数二:requires(字符串数组),requires包含了一个字符串变量组成的列表,每个元素都是一个模块名称,本模块依赖于这
些模块,依赖需要在本模块加载之前由注入器进行预加载。

2. *服务

2.1 服务
2.1.1 服务是单例的
2.1.2 当我们需要在不同的域中共享数据的时候,就应该使用服务
2.2 provider模式与ng实现
2.2.1 provider模式是策略模式和工程模式的综合体
2.2.2 核心目的是为了让接口和实现分离
2.2.3 在ng中,所有的provier都可以用来进行注入 provider/factory/service/constant/value
2.2.4 以下类型的函数可以接受注入 controller/directive/filter/service/factory
2.2.5 ng中的依赖注入是通过provider和injector这两个机智联合实现的
2.3 provider/factory/service/constant/vlaue
2.3.1 provider是基础,其余都是调用provider函数实现的,只是参数不同
2.3.2 从左到右,灵活性越来越差
2.4 创建服务
var myModule = angular.module("MyModule", []);
myModule.factory(‘hellpAngular’, function(){
this.name = ‘’;
this.getName = function(){
	return this.name;
}
})

mApp.service('indexService', function(){
    return {
        getMainClassify : function(){
            return ‘aa’;
        }
    };
});

myModule.controller('MyCtrl',['$scope',‘helloAngular’,  
function($scope, helloAngular){
	$scope.sayHello=function(name){
		alert("Hello "+name);
	}
}])
2.6 provider方式
var myModule = angular.module("MyModule", []);
myModule.provider(‘hellpAngular’, function(){
	return {
		$get:function(){
	var name = ‘慕课网’;
	function getName(){
		return name;
}
return {
	getName : getName
}
}
}
})
myModule.controller('MyCtrl',['$scope',‘helloAngular’,  
function($scope, helloAngular){
	$scope.sayHello=function(name){
		alert("Hello "+name);
	}
}])
2.7 factory方式
var myModule = angular.module("MyModule", []);
myModule.factory(‘hellpAngular’, function(){
function getName(){
	return name;
}
return {
getName : getName
}
})
myModule.controller('MyCtrl',['$scope',‘helloAngular’,  
function($scope, helloAngular){
	$scope.sayHello=function(name){
		alert("Hello "+name);
	}
}])

3. 控制器

3.1 控制器的作用
3.1.1 controller应该纯粹地用来把service、依赖关系、以及其它对象串联到一起,然后通过scope把它们关联到view上
3.2 控制器
myModule.controller("MyController", ['$scope', '$filter',
	function($scope, $filter) {
		$scope.add = $filter('addHello')('aaa');
	}
]);




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值