gpt4 book ai didi

javascript - 为什么我在 angularjs 中出现 'factory is not defined' 错误?

转载 作者:搜寻专家 更新时间:2023-10-31 08:07:20 25 4
gpt4 key购买 nike

你能帮我找出这段代码有什么问题吗,它说“foodFactory is not defined”。我还在学习 angularjs,所以可能会有错误,但我正在尝试使用路由 + 工厂。

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 - 很好,路由也能正常工作,但它只是不从工厂返回 foods 数组。

最佳答案

    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();
};

关于javascript - 为什么我在 angularjs 中出现 'factory is not defined' 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26360021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com