gpt4 book ai didi

javascript - 为什么 foodModule not defined 错误? Angular js

转载 作者:行者123 更新时间:2023-11-30 16:57:31 25 4
gpt4 key购买 nike

你好,我已经把它从路由文件中分离出来了。但它给模块未定义错误。谁能猜出问题所在?

主要.js

var foodModule = angular.module('scratchpad',['ui.router','ngResource']);

路由.js

console.log('route.js included successfully');


foodModule.config(function($stateProvider,$httpProvider) {

$stateProvider.state('home',{
url:'/home',
templateUrl:'templates/food.html',
controller:'addUserController'
})
.state('scratchpad',{
url:'/scratchpad',
templateUrl:'templates/scratchpad.html',
controller:'scratchListController'
})
.state('addNewScratch',{
url:'/addNewScratch',
templateUrl:'templates/addNewScratch.html',
controller:'addScratchController'
})
.state('scratchpad.viewScratch',{
url:'/scratchpad/:id/view',
templateUrl:'templates/viewScratch.html',
controller:'viewScratchController'
})
}).run(function($state){
$state.go('home');
});

错误:

Uncaught ReferenceError: foodModule is not defined

最佳答案

不要缓存你的 Angular 模块,你会把东西泄漏到全局范围内。而是这样做:

对于 main.js:

//Just declare the module
angular.module('scratchpad',['ui.router','ngResource']);

对于路由 js... 这样做:

angular.module('scratchpad')
.config(function($stateProvider,$httpProvider) {

$stateProvider.state('home',{
url:'/home',
templateUrl:'templates/food.html',
controller:'addUserController'
})
.state('scratchpad',{
url:'/scratchpad',
templateUrl:'templates/scratchpad.html',
controller:'scratchListController'
})
.state('addNewScratch',{
url:'/addNewScratch',
templateUrl:'templates/addNewScratch.html',
controller:'addScratchController'
})
.state('scratchpad.viewScratch',{
url:'/scratchpad/:id/view',
templateUrl:'templates/viewScratch.html',
controller:'viewScratchController'
})
}).run(function($state){
$state.go('home');
});

更好的是,将它们包裹在里面 IIFE .

参见 John Papa's Angular style guide为了更好的解释...

我建议也使用 gulp/grunt 将它们捆绑在一起,以便它们按正确的顺序排列并提供捆绑服务。除非您使用像 require/system js 这样的模块加载器,否则不能保证 main js 将首先执行。之前在 IE 中被类似的东西咬过。也许this article可以阐明这个问题,但没有什么是好的构建系统无法解决的,所以是的......

关于javascript - 为什么 foodModule not defined 错误? Angular js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29446056/

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