我开始学习角度,但我遇到了管理依赖关系的麻烦,无法理解为什么这不起作用。
我的HTML:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="client">
<head>
<meta charset="utf-8" />
<title>Title</title>
<link rel="stylesheet" type="text/css" href="mainstyle.css">
<script type="text/javascript" src="includes/files/angular.js"></script>
<script type="text/javascript" src="includes/files/login/login-directives.js"></script>
<script type="text/javascript" src="includes/files/logged/logged-directives.js"></script>
<script type="text/javascript" src="includes/files/application.js"></script>
</head>
<body ng-controller="ApplicationController as controller">
<logged-content ng-show="controller.isLogged"></logged-content>
<login-content ng-show="!controller.isLogged"></login-content>
</body>
</html>
的application.js
(function() { var app = angular.module('client',['logged-directives','login-directives']);
// Controller which contains informations on the session (connected or not, user informations...)
app.controller('ApplicationController', function($scope){
$scope.isLogged = false; // Contains true if the user is Logged into the software
$scope.currentUser = null;
});
})();
logs-directives:
(function(){
var app = angular.module('logged-directives', []);
app.directive('loggedContent', function(){
return{
restrict : 'E',
templateUrl : 'logged-content.html',
}
});
});
login-directives:
(function(){
var app = angular.module('login-directives', []);
app.directive('loginContent', function(){
return{
restrict : 'E',
templateUrl : "includes/files/login/login-content.html",
controller: function($scope) {
this.validateLogin = function(user) {
alert("user:"+ user.login + " pass : "+user.password);
isLogged = true;
currentUser = user;
};
},
controllerAs: "review"
}
});
})();
当我在chrome中打开我的html文件时,我有以下错误:
错误:[$ injector:nomod]模块'logged-directives'不可用! 您要么错误拼写了模块名称,要么忘记加载它。如果 注册模块确保您将依赖项指定为 第二个论点。
(我没有包含login-directives因为它是相同的并且不需要理解这个问题,我对login-directives也有同样的问题)
我错过了什么吗?
感谢您的帮助!
答案 0 :(得分:1)
请更新您创建指令的行:
app.directive('loggedContent', function(){ // L should be lower case
因为您在html中使用了 login-content :)
答案 1 :(得分:1)
我认为你正在努力寻找命名惯例 Checkout this URL这对您有所帮助。
答案 2 :(得分:0)
好的,我发现了问题......我忘了添加&#39;()&#39;在我的指令文件的末尾。
感谢您的帮助。