В моей угловой фабрике у меня есть 3 функции, которые возвращают имена некоторых кодов, в зависимости от их типа: есть, чувствовать и источник. Это одна из функцийУгловые функции JS с несколькими параметрами
getFeelingCode: function(feelingCode) {
var feelTag=$filter('filter')(constant.feeling_code, {code: feelingCode}, function(a, b) {
return a === b;
});
if(feelTag[0])
return feelTag[0].label;
else
return feelingCode;
}
В 3 функции bassically делают то же самое, и я хотел бы, чтобы преобразовать их в одну функцию, которая будет выглядеть следующим образом:
vApp.factory('BgsFactory', function(constant, $filter) {
return {
getCode: function(Code, StringCode) {
var cst;
switch(StringCode) {
case "eating_code": cst = constant.eating_code; break;
case "feeling_code": cst = constant.feeling_code; break;
case "source_code": cst = constant.source_code; break;
}
var Tag=$filter('filter')(cst, {code: Code}, function(a, b) {
return a === b;
});
if(Tag[0])
return Tag[0].label;
else
return Code;
}
На мой взгляд, я Их так называют
<td>{{getSourceCode(item.tags.source)}}</td>
<td>{{getEatingCode(item.tags.eat_code)}}</td>
<td>{{getFeelingCode(item.tags.feeling_code)}}</td>
Но я не знаю, как их установить в контроллере. Я пробовал что-то подобное, но он не говорит о том, что функций не существует.
$scope.getEatingCode = BgsFactory.getCode("eating_code");
$scope.getFeelingCode = BgsFactory.getCode("feeling_code");
$scope.getSourceCode = BgsFactory.getCode("source_code");
Как передать параметры?
Спасибо!
Да, это то, что я искал. Он работает, спасибо! – Krasiva
хорошо это решает вашу проблему :) –