Javascript $injector:moduler未能实例化模块
我是AngularJS的新手,我面临着这个例外 angular.js:68未捕获错误:[$injector:modulerr]未能捕获 实例化模块MovieRama的原因:错误:[$injector:modulerr] 无法实例化模块MovieRama.services,原因是:错误: [$injector:nomod]模块“MovieRama.services”不可用!你 模块名称拼写错误或忘记加载。如果注册 模块确保将依赖项指定为第二个 争论 我的代码是:Javascript $injector:moduler未能实例化模块,javascript,angularjs,dependency-injection,Javascript,Angularjs,Dependency Injection,我是AngularJS的新手,我面临着这个例外 angular.js:68未捕获错误:[$injector:modulerr]未能捕获 实例化模块MovieRama的原因:错误:[$injector:modulerr] 无法实例化模块MovieRama.services,原因是:错误: [$injector:nomod]模块“MovieRama.services”不可用!你 模块名称拼写错误或忘记加载。如果注册 模块确保将依赖项指定为第二个 争论 我的代码是: var app = angular
var app = angular.module('MovieRama.services', []);
app.factory('rtAPIservice', function($http) {
var rtAPI = {};
rtAPI.getMovies = function() {
return $http({
method: 'JSONP',
url: 'http://api.rottentomatoes.com/api/public/v1.0/lists/movies/in_theaters.json? page_limit=10&page=1&country=us&apikey=XXXXX&callback=JSON_CALLBACK'
});
}
return rtAPI;
});
app.factory('rtAPIserviceall', function($http) {
var rtAPIall = {};
rtAPIall.getMoviesall = function () {
return $http({
method: 'JSONP',
url: 'http://api.rottentomatoes.com/api/public/v1.0/movies.json',{
params: {
page_limit: '10',
page:'1',
q: $scope.search,
apikey: 'XXXX',
callback: 'JSON_CALLBACK'
}
}
})
}
return rtAPIall;
});
HTML
只有一家工厂可以正常工作。问题是什么?将依赖项
MovieRama.services
添加到引导应用程序的主模块中(可能是index.js
或app.js
,具体取决于您的文件结构)
同时删除对
的引用,因为您有两个文件可供选择。将角度文件移到js
文件之前的顶部
另外,为什么这两种方法作为不同的服务。您可以使用一个服务和两种方法,如下所示:
var app = angular.module('MovieRama.services', []);
app.factory('rtAPIservice', function($http) {
var rtAPI = {};
rtAPI.getMovies = function() {
return $http({
method: 'JSONP',
url: 'http://api.rottentomatoes.com/api/public/v1.0/lists/movies/in_theaters.json? page_limit=10&page=1&country=us&apikey=XXXXX&callback=JSON_CALLBACK'
});
}
rtAPI.getMoviesall = function () {
return $http({
method: 'JSONP',
url: 'http://api.rottentomatoes.com/api/public/v1.0/movies.json',{
params: {
page_limit: '10',
page:'1',
q: $scope.search,
apikey: 'XXXX',
callback: 'JSON_CALLBACK'
}
}
})
}
return rtAPI;
});
将依赖项
MovieRama.services
添加到引导应用程序的主模块(可能是index.js
或app.js
,取决于您的文件结构)
同时删除对
的引用,因为您有两个文件可供选择。将角度文件移到js
文件之前的顶部
另外,为什么这两种方法作为不同的服务。您可以使用一个服务和两种方法,如下所示:
var app = angular.module('MovieRama.services', []);
app.factory('rtAPIservice', function($http) {
var rtAPI = {};
rtAPI.getMovies = function() {
return $http({
method: 'JSONP',
url: 'http://api.rottentomatoes.com/api/public/v1.0/lists/movies/in_theaters.json? page_limit=10&page=1&country=us&apikey=XXXXX&callback=JSON_CALLBACK'
});
}
rtAPI.getMoviesall = function () {
return $http({
method: 'JSONP',
url: 'http://api.rottentomatoes.com/api/public/v1.0/movies.json',{
params: {
page_limit: '10',
page:'1',
q: $scope.search,
apikey: 'XXXX',
callback: 'JSON_CALLBACK'
}
}
})
}
return rtAPI;
});
您是如何在html中实例化模块的?@AlexChance我为您编辑了描述只是猜测,但您可能想尝试更改加载js文件的顺序。首先加载app.js,并在加载之前尝试注入对MovieRama.services的依赖关系。或者尝试将所有模块代码放在一个文件中,以测试这是否是问题所在。奇怪的是,当我添加第二个app.factory时会出现异常。另外,为什么这两个方法作为不同的服务。您可以使用一个服务和两种方法,如下所示:您是如何在html中实例化模块的?@AlexChance我为您编辑了描述只是一个猜测,但您可能希望尝试更改加载js文件的顺序。首先加载app.js,并在加载之前尝试注入对MovieRama.services的依赖关系。或者尝试将所有模块代码放在一个文件中,以测试这是否是问题所在。奇怪的是,当我添加第二个app.factory时会出现异常。另外,为什么这两个方法作为不同的服务。您可以使用以下两种方法提供一个服务:我想我已经这样做了。我已经为您编辑了描述,没有任何更改。奇怪的是,当我添加第二个app.factory时,问题出现了。还有其他想法吗?没有。。一点也没有变化,我想我已经这样做了。我已经为您编辑了描述,没有任何更改。奇怪的是,当我添加第二个app.factory时,问题出现了。还有其他想法吗?没有。。没有任何变化
var app = angular.module('MovieRama.services', []);
app.factory('rtAPIservice', function($http) {
var rtAPI = {};
rtAPI.getMovies = function() {
return $http({
method: 'JSONP',
url: 'http://api.rottentomatoes.com/api/public/v1.0/lists/movies/in_theaters.json? page_limit=10&page=1&country=us&apikey=XXXXX&callback=JSON_CALLBACK'
});
}
rtAPI.getMoviesall = function () {
return $http({
method: 'JSONP',
url: 'http://api.rottentomatoes.com/api/public/v1.0/movies.json',{
params: {
page_limit: '10',
page:'1',
q: $scope.search,
apikey: 'XXXX',
callback: 'JSON_CALLBACK'
}
}
})
}
return rtAPI;
});