簡體   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