Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angular.js将函数注入工厂_Javascript_Angularjs - Fatal编程技术网

Javascript angular.js将函数注入工厂

Javascript angular.js将函数注入工厂,javascript,angularjs,Javascript,Angularjs,我有一个函数 function propValueFilter (toFilterArr, filterFunction) { return toFilterArr.filter(filterFunction); }; 还有一个工厂 backpackrApp.factory('itemsFactory', function(propValueFilter) { factory.getBackpackById = function(id) { return backpa

我有一个函数

function propValueFilter (toFilterArr, filterFunction) {
    return toFilterArr.filter(filterFunction);
};
还有一个工厂

backpackrApp.factory('itemsFactory', function(propValueFilter) {

    factory.getBackpackById = function(id) {
    return backpacks.propValueFilter(function(element) {
        return element.id == id;
    });
};
return factory;
});
我在Webconsole中的组件$injector中遇到未知的提供程序错误

如何正确地注入函数?我想创建一组可以在许多控制器/工厂等中使用的辅助函数


提前感谢

在返回第一个功能时间隔问题?应该是:

function propValueFilter (toFilterArr, filterFunction) {
    return toFilterArr.filter(filterFunction);
};

第一个函数返回时的间距问题?应该是:

function propValueFilter (toFilterArr, filterFunction) {
    return toFilterArr.filter(filterFunction);
};

您应该将此函数包装到另一个服务/工厂(在下面的示例中命名为filterService)中,并将其注入到items工厂中,如:

backpackrApp.factory('itemsFactory', ['filterService', function(filterService) {

factory.getBackpackById = function(id) {
return backpacks.propValueFilter(function(element) {
    return element.id == id;
});
};
return factory;
}]);

您应该将此函数包装到另一个服务/工厂(在下面的示例中命名为filterService)中,并将其注入到items工厂中,如:

backpackrApp.factory('itemsFactory', ['filterService', function(filterService) {

factory.getBackpackById = function(id) {
return backpacks.propValueFilter(function(element) {
    return element.id == id;
});
};
return factory;
}]);

我认为您希望创建可以从工厂注入的帮助器函数(假设您知道如何使用Array.filter):


我认为您希望创建可以从工厂注入的帮助器函数(假设您知道如何使用Array.filter):


sry,意大利面。这里有一个空格char.sry,copy。有一个空格字符,我不知道你在问什么。Angular不会注入propValueFilter函数,我认为您需要将其创建为一个工厂,或者提供一个工厂或服务,该工厂或服务返回一个对象,并将实用程序函数作为属性。你试过并阅读过依赖注入的页面吗?是的,我试过egghead.io教程。但第二个环节看起来不错。我对angular很陌生,谢谢你帮助我解决了这个问题,谢谢。我不知道你在问什么。Angular不会注入propValueFilter函数,我认为您需要将其创建为一个工厂,或者提供一个工厂或服务,该工厂或服务返回一个对象,并将实用程序函数作为属性。你试过并阅读过依赖注入的页面吗?是的,我试过egghead.io教程。但第二个环节看起来不错。我对angular很陌生,谢谢你的帮助,帮助我解决了这个问题,谢谢