2016-11-18 8 views
1

私の指令に何らかの問題があります。指令がロードされていません

ディレクティブとコントローラのjsファイルはindex.htmlに含まれており、パスは正しいです。 コンソールにエラーは表示されませんが、私のタグは表示されません。どんな援助も感謝します。ここ は、私のコードの一部

loginForm.js

(function() { 
angular 
    .module('sysConApp') 
    .directive('loginForm', [ 
     function() { 
      return { 
       restrict: 'E', 
       scope: {}, 
       templateUrl: 'scripts/directives/loginForm/view/loginFormView.html', 
       controller: 'LoginFormController', 
       replace: 'true' 
      } 
     } 
    ]); 
}); 

loginFormController.js

angular.module('sysConApp') 
.controller('LoginFormController', ['$scope', '$state', 'AuthService', 'userProfile', 
    function ($scope, $state, AuthService, userProfile) {/*Some codes*/}]); 

loginFormView.html

<form class="loginForm"> 
    <img class="login-logo" 
     src="data:image/png;base64,i..." alt="Logo SysCon"> 
    <input id="inputEmail" 
      type="email" 
      class="form-control" 
      placeholder="E-mail" 
      ng-model="username" 
      required 
      autofocus> 
    <input type="password" 
      id="inputPassword" 
      ng-model="password" 
      class="form-control" 
      placeholder="Senha" 
      required> 
    <span ng-show="loginError && loginForm.$invalid" 
      class="label label-danger"> 
     <b>Erro ao realizar login.</b> Favor tente novamente. 
    </span> 
    <button class="btn btn-lg btn-block btn-signin" 
      ng-disabled="loginForm.$invalid" 
      ng-class="{'btn-default':loginForm.$invalid,'btn-success':loginForm.$valid}" 
      ng-click="logIn()" 
      type="submit"> 
     Log in 
    </button> 
</form> 

login.htmlと

です

答えて

3

あなたのコードの問題は、あなたのIIFEが今までに呼び出されていないことです。あなたは関数を作成しているに過ぎません。

(function() { 
//... 
}); 

そして、あなたはそれを変更する必要があります:

あなたはこれを持っている完全なコード

(function() { 
//... 
})(); 

:、そう単純なもので、なぜそれが似awlays

(function() { 
    angular 
    .module('sysConApp') 
    .directive('loginForm', [ 
     function() { 
     return { 
      restrict: 'E', 
      scope: {}, 
      templateUrl: 'scripts/directives/loginForm/view/loginFormView.html', 
      controller: 'LoginFormController', 
      replace: true, 
      link: function(){console.log('whoray');} 
     } 
     } 
    ]); 
})(); 
+0

そして再びですこの。ありがとうございました –

+0

IIFEを使用することで、グローバル名前空間を汚染していないことがわかります。詳細については、[この回答](http://stackoverflow.com/a/8228308/7153181)で確認できます。 – Ryota

関連する問題