如何在服务或工厂中添加多个功能?

时间:2015-02-04 07:44:25

标签: angularjs service factory

我必须写一个内部有很多功能的服务。我必须注入控制器。 但是,然后我写了一个有3个或更多功能的工厂,angular找到了第一个,所有其他都未定义。 - 为什么?

mySystem.factory('testFactory', function($http) {
return {
checkDates: function() {
    myData.VDate = myData.VDate.format('dd.MM.yyyy');
}

return {
    checkrequiered: function() {
    var check = true;
    if (myData.locId.lenght === 0) {
        check=false;
    }
    return check;
}

return {
    updateData: function() {
       '...'
    }
});

怎么了?

1 个答案:

答案 0 :(得分:1)

错误的是你有三个return语句,这意味着除了第一个语句之外的所有语句都将被忽略。返回单个对象中的所有函数:

return {
    checkDates: function() {
        myData.VDate = myData.VDate.format('dd.MM.yyyy');
    },
    checkRequired: function() {
        return (myData.locId.length !== 0);
    },
    updateData: function() {
       '...'
    }
};