发表于: 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对于自定义这一知识点还是要掌握


返回列表 返回列表
评论

    分享到