2016-05-22 14 views
0

私はちょうどAngularJsを使い始めています。私はloginディレクティブを実装しようとしています。しかし、私は出力が表示されません?私はコンソールにエラーはありません。AngularJsディレクティブが動作しない/表示されます

マイアプリケーション構造:

enter image description here

index.htmlが表示されていない)

login.directive.js

(function() { 
    'use strict'; 

    angular 
     .module('lnjapp.login',[]) 
     .directive('login', login); 

    function login() { 
     var directive = { 
      template: '<p>test</p>', 
      //restrict: 'E', 
      Controller: LoginController, 
      controllerAs: 'vm' 
     }; 
     return directive; 
    } 
})(); 

app.js

(function() { 
    'use strict'; 

    angular.module('lnjapp', ['ngRoute', 'ngCookies', 'angular.filter','lnjapp.login','lnjapp.config']) 
    .constant('GLOBALS', { 
     url:'http://domain.dev/api/v1/' 
    }); 

    $(document).ready(function() { 
     $.material.init(); 
    }); 
})(); 

アプリ/ページ/ login.htmlと

<login></login> 

- EDIT -

login.controller.js

(function() { 
    'use strict'; 

    angular.module('lnjapp.login',[]) 
    .controller('LoginController', LoginController); 

function LoginController() 
{} 
})(); 

ルート-C onfig.js

angular 
    .module('lnjapp.config',[]) 
    .config(config); 

function config($routeProvider) { 
    $routeProvider 
     .when('/', { 
      templateUrl: '/app/pages/login.html' 
     }); 
} 

私はここで間違っていますか?

+0

あなたは 'restrict'プロパティのコメントを外しましたか?角度の書類は、それが要素または属性にデフォルト設定されていると言いますが、私はこれまでに遭遇したと誓っています。 – mdickin

+0

問題のトラブルシューティングに必要な情報がここにありません。ここに表示されていないページへのルートに問題がある可能性があります。また、コントローラーが存在しない場合、コントローラーを宣言するディレクティブはロードされないので、ここにリストされていないコントローラー定義に問題が発生する可能性があります。 – Claies

+0

@ Claiesは私の編集をご覧ください。 – Jamie

答えて

2

あなたはlogin.controller.jsに一度login.directive.jsでと再び、二回あなたlnjapp.loginを作成しています。 2回目にモジュールを作成すると、最初のファイルが上書きされ、最初のファイルに作成されたものはアクセスできなくなります。

モジュールは常に1回のみ作成し、既に作成されたモジュールを取得して、他のすべてのケースで追加機能を追加する必要があります。

セット(作成):angular.module('lnjapp.login',[])

のGet(消費):詳細情報およびその他のベストプラクティスについてangular.module('lnjapp.login')

、ジョン・パパの優れたAngular Style Guideを参照してください。

+0

問題を解決しました! – Jamie

関連する問題