繁体   English   中英

'EventModel'必须从$ get工厂方法返回一个值

[英]'EventModel' must return a value from $get factory method

我更改了与之配合使用的服务(模型),现在给出了这个奇怪的错误,我进行了搜索,发现这是语法错误,该值不会返回,但我认为我的问题不是这个。

错误是:

Provider 'EventModel' must return a value from $get factory method.

那就是我的代码:

'use strict';
var EventModel = function($http) {
 this.url       = 'http://localhost:3000/api/events';
 this.$http = $http;
};

EventModel.prototype = {
    find: function() {
        return this.$http.get(this.url).then(this.extract);
    },

    extract: function(result) {
        return result.data;
    }
};

angular
  .module('siteApp')
  .factory('EventModel', [
    '$http',
    EventModel
  ]);

可能是什么?

谢谢。

通过您定义的方式,您需要使用的是service配方,而不是factory

angular
  .module('siteApp')
  .service('EventModel', ['$http', EventModel]);

如果您使用工厂配方进行注册,则构造函数需要返回该实例,在您的情况下,您将不返回任何内容,并且工厂配方不会发生任何new 取而代之的是,您拥有合适的构造函数,并且在实现时通常会寻找要由new运算符调用的函数,而这正是service配方所要完成的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM