Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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 为什么我会得到';工厂未定义';angularjs中的错误?_Javascript_Html_Angularjs - Fatal编程技术网

Javascript 为什么我会得到';工厂未定义';angularjs中的错误?

Javascript 为什么我会得到';工厂未定义';angularjs中的错误?,javascript,html,angularjs,Javascript,Html,Angularjs,你能帮我找出这段代码的错误吗,它说“foodFactory未定义”。我还在学习angularjs,所以可能会有错误,但我正在尝试使用routes+factory var foodApp = angular.module("foodApp", ["ngRoute"]); foodApp.config(function($routeProvider) { $routeProvider .when('/

你能帮我找出这段代码的错误吗,它说“foodFactory未定义”。我还在学习angularjs,所以可能会有错误,但我正在尝试使用routes+factory

var foodApp = angular.module("foodApp", ["ngRoute"]);

        foodApp.config(function($routeProvider)
        {

            $routeProvider
                    .when('/',
                    {
                       controller: 'foodController',
                       templateUrl: '/routes/view1.html'
                    })
                    .when('/view2',
                    {
                       controller: 'foodController',
                       templateUrl: '/routes/view2.html'
                    })
                    .when('/view3',
                    {
                       controller: 'foodController2',
                       templateUrl: '/routes/view3.html'
                    })
                    .otherwise
                    ({ redirectTo: '/' });

        });

        foodApp.factory("foodFactory", function()
        {
            var foods = [
                {name: "Bread"},
                {name: "Cheese"},
                {name: "Blackberries"}
            ];

            var factory = {};

            factory.getFoods = function ()
            {
                return foods;
            };

            return factory;

        });

        var controllers = {};

        controllers.foodController = function($scope)
        {
            $scope.foods = foodFactory.getFoods();
            $scope.foods2 = foodFactory.getFoods();
        };

        controllers.foodController2 = function($scope)
        {
            $scope.foods = foodFactory.getFoods();
        };

        foodApp.controller(controllers);

view1.html、view2.html和view3.html-都很好,路由也可以工作,但它不能从工厂返回食物数组。

非常感谢,就这样!
    controllers.foodController = function($scope,foodFactory) // you need to inject foodFactory
    {
        $scope.foods = foodFactory.getFoods();
        $scope.foods2 = foodFactory.getFoods();
    };

    controllers.foodController2 = function($scope,foodFactory) // you need to inject foodFactory
    {
        $scope.foods = foodFactory.getFoods();
    };