我对角度很新,我试图运行一个有角度的页面但无论我尝试什么,我都会遇到一个错误,说我没有创建一个角度模块。
由于以下原因导致无法实例化模块HotelApp: 错误:[$ injector:nomod] http://errors.angularjs.org/1.5.3/ $ injector / nomod?p0 = Hote ... blah blah blah
我的代码看起来像这样
(function () {
"use strict";
angular.module(APPNAME)
.factory('$hotelService', hotelServiceFactory);
hotelServiceFactory.$inject = ['$methodRepository', $methodRepository];
function hotelServiceFactory($methodRepository) {
var hotelServiceObject = AjaxScripts;
console.log("Hotel Service", hotelServiceObject);
}
})();
(function () {
"use strict";
angular.module(APPNAME)
.controller("HotelController", hotelController);
hotelController.$inject = ['$scope', '$hotelService'];
function TracksController($scope, $hotelService) {
我在为脚本和ng-app中明确声明APPNAME变量时,为什么说我的模块没有实例化时,我大多感到困惑
编辑 我目前有
(function () {
"use strict";
angular.module("HotelApp", [])
.factory('$hotelService', hotelServiceFactory);
hotelServiceFactory.$inject = ['$methodRepository', $methodRepository];
function hotelServiceFactory($methodRepository) {
var hotelServiceObject = AjaxScripts;
console.log("Hotel Service", hotelServiceObject);
}
})();
但它仍然没有工作..
答案 0 :(得分:2)
您在哪里创建模块。必须以这种方式创建模块。
angular.module('APPNAME',[]);
然后你可以使用angular.module('APPNAME')
创建控制器,工厂或......
但只有在模块内部创建module [](用于依赖注入)时才应该存在。
答案 1 :(得分:1)
hotelServiceFactory.$inject
属性定义错误。
//DO this
hotelServiceFactory.$inject = ['$methodRepository'];
//NOT this
//hotelServiceFactory.$inject = ['$methodRepository', $methodRepository];
function hotelServiceFactory($methodRepository) {
var hotelServiceObject = AjaxScripts;
console.log("Hotel Service", hotelServiceObject);
}
这导致编译错误。
控制器声明也与控制器功能名称不匹配。
angular.module(APPNAME)
.controller("HotelController", hotelController);
hotelController.$inject = ['$scope', '$hotelService'];
//DO this
function hotelController($scope, $hotelService) {
//NOT this
//function TracksController($scope, $hotelService) {
答案 2 :(得分:0)
您在2nd
[]
参数DI
,即module
(依赖注入)
angular.module('APPNAME', [])
答案 3 :(得分:0)
更改此
angular.module(APPNAME)
有了这个
angular.module('HotelApp',[])
答案 4 :(得分:0)
angular中的第一步是模块,你的应用程序的起点就像这样写
angular.module('APPNAME',[]);
第一个参数是指您的应用程序名称,第二个是依赖注入意味着您的应用程序需要像任何插件,服务,指令......等等