发表于: 2017-06-18 23:19:28
2 881
今天完成的事情:
学习自定义服务的相关知识,本来想跟后端的大佬商量下接口的问题,给忘记了。
在AngularJS中,系统内置的服务都是以$开头,所以我们的自定义服务尽量避免以$开头。自定义服务的方式有如下几种:
1、使用Module的provider方法
app.provider('myProvider', function () {
this.$get = function () {
//do somthing };});
通过provider方法创建的服务一定要包含$get
方法,provider注入的结果就是$get
方法返回的结果,如果不包含$get
方法,则程序会报错。
2、使用Module的factory方法
app.factory('myFactory', function ($http) {
//不一定是要对象类型,实际为任意类型
var factory = {};
return factory;
});
通过factory方法创建的服务必须有返回值,即必须有return函数,它可以返回任意类型的值,包括基本数据类型或者对象类型。如果没有return函数,则会报错。
3、使用Module的service方法
通过service方法创建的服务,可以不用返回任何值,因为service方法本身返回一个构造器,系统会用new关键字来创建一个对象,所以我们可以在service内部使用this关键字,对service进行扩展。
明天计划的事情:
继续复盘项目,配置开发环境
遇到的问题:
暂无
收获:
原来自定义服务还有这么多方式,看来学好angular对于自定义这一知识点还是要掌握
评论