Javascript Angularjs将代码分离到控制器和服务文件时出现未捕获错误:[$injector:nomod]
我正试图将代码拆分为控制器和服务文件,如下所示 Module.jsJavascript Angularjs将代码分离到控制器和服务文件时出现未捕获错误:[$injector:nomod],javascript,angularjs,angularjs-service,angularjs-controller,angular-module,Javascript,Angularjs,Angularjs Service,Angularjs Controller,Angular Module,我正试图将代码拆分为控制器和服务文件,如下所示 Module.js /// <reference path="../angular.js" /> /// <reference path="../angular-resource.js" /> var IM_Mod_app; (function () { // IM_Mod_app = angular.module('IM_ng_app', []); IM_Mod_app =
/// <reference path="../angular.js" />
/// <reference path="../angular-resource.js" />
var IM_Mod_app;
(function () {
// IM_Mod_app = angular.module('IM_ng_app', []);
IM_Mod_app = angular.module('IM_ng_app', ['IM_Mod_app.controllers']);
})();
/// <reference path="../angular.js" />
/// <reference path="../angular-resource.js" />
/// <reference path="module.js" />
/// <reference path="service.js" />
// angular.module('IM_Mod_app.controllers', []);
angular.module('IM_Mod_app.controllers').controller('IM_Ctrl', ['$scope', '$http', 'MaintenanceService', function ($scope, $http, MaintenanceService) {
IM_Ctrl.$inject = ['$scope', '$http']; var PlantId = "DFC";
loadRecords();
function loadRecords() {
var promiseGet = MaintenanceService.GetAllFlavors();
promiseGet.then(function successCallback(response) {
alert(response.data);
$scope.flavours = response.data;
}, function errorCallback(response) {
});
}
function onFlavorChange() {
var promiseonchange = MaintenanceService.onchangeflr();
promiseonchange.then(function successCallback(response) {
// alert(response.data);
$scope.items = response.data;
}, function errorCallback(response) { });
}
}]);
//
///
变量IM_Mod_app;
(功能(){
//IM_Mod_app=angular.module('IM_ng_app',[]);
IM_Mod_app=angular.module('IM_ng_app',['IM_Mod_app.controllers');
})();
Controller.js
/// <reference path="../angular.js" />
/// <reference path="../angular-resource.js" />
var IM_Mod_app;
(function () {
// IM_Mod_app = angular.module('IM_ng_app', []);
IM_Mod_app = angular.module('IM_ng_app', ['IM_Mod_app.controllers']);
})();
/// <reference path="../angular.js" />
/// <reference path="../angular-resource.js" />
/// <reference path="module.js" />
/// <reference path="service.js" />
// angular.module('IM_Mod_app.controllers', []);
angular.module('IM_Mod_app.controllers').controller('IM_Ctrl', ['$scope', '$http', 'MaintenanceService', function ($scope, $http, MaintenanceService) {
IM_Ctrl.$inject = ['$scope', '$http']; var PlantId = "DFC";
loadRecords();
function loadRecords() {
var promiseGet = MaintenanceService.GetAllFlavors();
promiseGet.then(function successCallback(response) {
alert(response.data);
$scope.flavours = response.data;
}, function errorCallback(response) {
});
}
function onFlavorChange() {
var promiseonchange = MaintenanceService.onchangeflr();
promiseonchange.then(function successCallback(response) {
// alert(response.data);
$scope.items = response.data;
}, function errorCallback(response) { });
}
}]);
//
///
///
///
//角度模块('IM_Mod_app.controllers',[]);
角度.module('IM_Mod_app.controllers').controller('IM_Ctrl',['$scope','$http','MaintenanceService',函数($scope,$http,MaintenanceService){
IM_Ctrl.$inject=['$scope','$http'];var PlantId=“DFC”;
loadRecords();
函数loadRecords(){
var promiseGet=MaintenanceService.GetAllFlavors();
然后(函数successCallback(response){
警报(响应数据);
$scope.flavors=response.data;
},函数errorCallback(响应){
});
}
函数onFlavorChange(){
var promiseonchange=MaintenanceService.onchangefler();
promiseonchange.then(函数成功回调(响应){
//警报(响应数据);
$scope.items=response.data;
},函数errorCallback(response){});
}
}]);
Service.js:
/// <reference path="../angular.js" />
/// <reference path="../angular-resource.js" />
/// <reference path="module.js" />
/// <reference path="controller.js" />
IM_Mod_app.service("MaintenanceService", function ($http) {
this.GetAllFlavors = function () {
//alert("service");
return $http({
method: 'GET',
url: 'http://localhost:55762/api/ItemMaintenance/GetAllFlavors',
params: { Plant_Id: "DFC" }
})
}
this.onchangeflr = function () {
$http({
method: 'GET',
url: 'http://localhost:55762/api/ItemMaintenance/GetAllFilteredItems',
params: { Plant_Id: PlantId, Flavor_Id: flv, Variant_Id: '', Brand_Id: '' }
})
}
});
<body ng-app="IM_ng_app">
<table ng-controller="IM_Ctrl">
<tr>
<td>
<select ng-model="flv" ng-options="flv.FLAVOR_ID for flv in flavours" ng-change="onFlavorChange(flv.FLAVOR_ID)">
<option value="">Select Flavor</option>
</select>
</td>
</tr>
</table>
</body>
//
///
///
///
IM_Mod_应用程序服务(“维护服务”),功能($http){
this.GetAllFlavors=函数(){
//警报(“服务”);
返回$http({
方法:“GET”,
网址:'http://localhost:55762/api/ItemMaintenance/GetAllFlavors',
参数:{Plant_Id:“DFC”}
})
}
this.onchangefler=函数(){
$http({
方法:“GET”,
网址:'http://localhost:55762/api/ItemMaintenance/GetAllFilteredItems',
参数:{Plant_Id:PlantId,Flavor_Id:flv,Variant_Id:'',Brand_Id:''}
})
}
});
选择口味
Service.js:6未捕获引用错误:未在上定义IM\u Mod\u应用程序
Service.js:6
将错误消息获取为:
“angular.js:138未捕获错误:[$injector:nomod]模块
“IM_Mod_app.controllers”不可用!您可能拼错了
模块名称或忘记加载它。“
我想你错过了一些注射 在应用程序模块
IM_Mod_app = angular.module('IM_ng_app', ['IM_Mod_app.controllers']); }
在控制器上(在$http之后)
我想你错过了一些注射 在应用程序模块
IM_Mod_app = angular.module('IM_ng_app', ['IM_Mod_app.controllers']); }
在控制器上(在$http之后)
像这样试试
Module.js
/// <reference path="../angular.js" />
/// <reference path="../angular-resource.js" />//
var IM_Mod_App = angular.module("IM_ng_App", []);
//
/// //
var IM_Mod_App=angular.module(“IM_ng_App”,[]);
Controller.js
/// <reference path="../angular.js" />
/// <reference path="../angular-resource.js" />
/// <reference path="module.js" />
/// <reference path="service.js" />
IM_Mod_App.controller("IM_ng_Ctrl", function ($scope, $http, IM_Service) { alert("Hi controller");... });
//
///
///
///
IM_Mod_App.controller(“IM_ng_Ctrl”,函数($scope,$http,IM_服务){alert(“Hi controller”);…});
Service.js
/// <reference path="../angular.js" />
/// <reference path="../angular-resource.js" />
/// <reference path="module.js" />
/// <reference path="controller.js" />
var IM_Mod_App = angular.module("IM_ng_App");
IM_Mod_App.factory('IM_Service', function ($http) {
alert("Hi service");
});
//
///
///
///
var IM_Mod_App=角度模块(“IM_ng_App”);
IM_Mod_App.factory('IM_Service',函数($http){
警报(“Hi服务”);
});
尝试交叉验证控制器和模块的名称。尝试这样做
Module.js
/// <reference path="../angular.js" />
/// <reference path="../angular-resource.js" />//
var IM_Mod_App = angular.module("IM_ng_App", []);
//
/// //
var IM_Mod_App=angular.module(“IM_ng_App”,[]);
Controller.js
/// <reference path="../angular.js" />
/// <reference path="../angular-resource.js" />
/// <reference path="module.js" />
/// <reference path="service.js" />
IM_Mod_App.controller("IM_ng_Ctrl", function ($scope, $http, IM_Service) { alert("Hi controller");... });
//
///
///
///
IM_Mod_App.controller(“IM_ng_Ctrl”,函数($scope,$http,IM_服务){alert(“Hi controller”);…});
Service.js
/// <reference path="../angular.js" />
/// <reference path="../angular-resource.js" />
/// <reference path="module.js" />
/// <reference path="controller.js" />
var IM_Mod_App = angular.module("IM_ng_App");
IM_Mod_App.factory('IM_Service', function ($http) {
alert("Hi service");
});
//
///
///
///
var IM_Mod_App=角度模块(“IM_ng_App”);
IM_Mod_App.factory('IM_Service',函数($http){
警报(“Hi服务”);
});
尝试交叉验证控制器和模块的名称。Thxs正在查看它。。错误消息仍然存在问题:未捕获错误:[$injector:nomod]模块“IM_Mod_app.controllers”不可用!。您可以添加定义
IM\u Mod\u app
模块的代码吗?“IM\u ng\u app”应该插入“IM\u Mod\u app.controllers”。我更新了answer.Thxs。仍然存在相同的问题。嗯。。。很遗憾听到这个消息。这很可能是这个地区的一个问题。它可能是您定义模块的顺序、丢失的注入或模块中的某个错误。Thxs正在查看它。。错误消息仍然存在问题:未捕获错误:[$injector:nomod]模块“IM_Mod_app.controllers”不可用!。您可以添加定义IM\u Mod\u app
模块的代码吗?“IM\u ng\u app”应该插入“IM\u Mod\u app.controllers”。我更新了answer.Thxs。仍然存在相同的问题。嗯。。。很遗憾听到这个消息。这很可能是这个地区的一个问题。它可能是您定义模块的顺序、缺少注入或模块中的某些错误。