Как включить / внедрить функции, которые используют $ scope в контроллер в angularjs?

Я пытаюсь включить библиотеку функций, хранящихся на фабрике, в контроллер. Похоже на такие вопросы:Создание общих функций контроллера

мойглавный контроллер выглядит так:

recipeApp.controller('recipeController', function ($scope, groceryInterface, ...){

$scope.groceryList = [];
// ...etc...    

/* trying to retrieve the functions here */
$scope.groceryFunc = groceryInterface; // would call ng-click="groceryFunc.addToList()" in main view
    /* Also tried this:
    $scope.addToList = groceryInterface.addToList();
    $scope.clearList = groceryInterface.clearList();
    $scope.add = groceryInterface.add();
    $scope.addUp = groceryInterface.addUp(); */
}

Затем в другом файле .js я создал фабрику groceryInterface. Я ввел эту фабрику в контроллер выше.

завод

recipeApp.factory('groceryInterface', function(){

        var factory = {};

    factory.addToList = function(recipe){
        $scope.groceryList.push(recipe);
                    ... etc....
    }

    factory.clearList = function() {
            var last = $scope.prevIngredients.pop();
            .... etc...
    }

    factory.add = function() {
    $scope.ingredientsList[0].amount = $scope.ingredientsList[0].amount + 5;
    }

    factory.addUp = function(){
        etc...
    }

    return factory;
});

Но в моей консоли я продолжаю получатьReferenceError: $scope is not defined at Object.factory.addToList, и т.д. Очевидно, я предполагаю, что это связано с тем, что я использую$scope в моих функциях на заводе. Как мне решить это? Я заметил, что во многих других примерах, которые я смотрел, никто никогда не использует$scope в рамках своих внешних заводских функций. Я пробовал делать инъекции$scope в качестве параметра на моем заводе, но это ясно не работает. (например.recipeApp.factory('groceryInterface', function(){ )

Любая помощь действительно ценится!

Ответы на вопрос(3)

Ваш ответ на вопрос