无法管理角度依赖性

时间:2014-11-20 01:36:37

标签: javascript html angularjs

我开始学习角度,但我遇到了管理依赖关系的麻烦,无法理解为什么这不起作用。

我的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也有同样的问题)

我错过了什么吗?

感谢您的帮助!

3 个答案:

答案 0 :(得分:1)

请更新您创建指令的行:

app.directive('loggedContent', function(){ // L should be lower case

因为您在html中使用了 login-content :)

答案 1 :(得分:1)

我认为你正在努力寻找命名惯例 Checkout this URL这对您有所帮助。

答案 2 :(得分:0)

好的,我发现了问题......我忘了添加&#39;()&#39;在我的指令文件的末尾。

感谢您的帮助。