如何在services.js文件中定义多个工厂?

时间:2014-01-26 21:33:11

标签: javascript angularjs

我有两个数据数组,我想在services.js中定义,然后传递给我的控制器。我尝试建立两家工厂,但它说:

Module 'myApp.services' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

当只定义了一个工厂时,我没有收到此错误。

我也想知道是否可以在一个工厂中定义两组独立的数据。

//services.js

'use strict';

angular.module('myApp.services', [])

.factory('myProperties', function() {

    var myProperties = [
        {
            'name': '3 Bedroom Fixer Upper',
            'city': 'Santa Rosa',
            'state': 'CA',
            'date_added': '2/3/14'
        },
        {
            'name': '2 Bedroom Condo',
            'city': 'Vallejo',
            'state': 'CA',
            'date_added': '4/10/20'
        },
        {
            'name': 'Sophias Apartment',
            'city': 'Salt Lake City',
            'state': 'UT',
            'date_added': '2/5/14'
        }
    ];

    //return the array here
    return myProperties
};

.factory('buyProperties', function() {

    var buyProperties = [
        {
            'name': '3 Bedroom Fixer Upper',
            'city': 'Santa Rosa',
            'state': 'CA',
            'date_added': '2/3/14'
        },
        {
            'name': '2 Bedroom Condo',
            'city': 'Vallejo',
            'state': 'CA',
            'date_added': '4/10/20'
        },
    ];

    //return the array here
    return buyProperties
});

1 个答案:

答案 0 :(得分:3)

在第一个工厂定义后删除半冒号并添加一个右括号:

angular.module('myApp.services', [])
    .factory('myProperties', function() {
 })
    .factory('buyProperties', function() {
 });

模块和工厂定义允许链接。