2016-08-05 4 views
0

私は、ヘッダーのディレクティブ・コントローラーから機能をクリックすると、ログイン・モーダルを開くためにヘッダーにカスタム・ディレクティブを使用しています。モーダルHTMLではまた、私はディレクティブからそのコールに別の関数(RegistrationModalを)記号をクリックしますが、そのエラー開かれていないではないが投げるとき、コードモーダルを開いたときの角度js命令のエラー

.directive('header', function() { 
    return { 
     restrict: 'E', 
     templateUrl: HTML.HEADER, 
     scope: true, 
     controller: function ($scope, $rootScope, $http, $templateCache,$compile) { 
      $scope.RegistrationModal = function() { 
       $(".modal").remove(); 
       $(".modal-backdrop").remove(); 
       $http.get(HTML.SIGN_UP, {cache: $templateCache}).success(function (data) { 
        $(document.body).append($compile(data)($scope)); 
        $('#sign-up1').modal('show'); 
       }); 
      } 
      $scope.loginModal = function() { 
       if ($("#sign-up1").length > 0) { 
        $('#sign-up1').modal('hide'); 
       } 
       console.log(">>>>>>>>>>>>in login") 
       $http.get(HTML.LOGIN, {cache: $templateCache}).success(function (data) { 
        console.log(">>>>>>>>>>>...data is>>>>>.", data); 
        $(document.body).append($compile(data)($scope)); 
        $('#login-popup').modal('show'); 
       }); 
      } 

     }, 


    }; 
    return directive; 
}) 

エラーを確認してください(サインイン)ボタンを持っています

angular.js:13708 TypeError: Cannot convert undefined or null to object

+1

plunkerと詳細なスタックトレースを投稿できますか?それはより良い助けになるでしょう! – Srijith

+0

@Srijith ......私は1つのことを確認したい。一度私は指示からloginModal関数を呼び出すと、関数は、テンプレートデータをコンパイルし、本文に追加します。私はスコープまたは何かを破壊する必要があります同じ指示からRegistrationModal関数を呼び出します。 –

+0

あなたのプロジェクトでモーダルを使用する場合は、私は[ui-bootstrap](http://angular-ui.github.io/bootstrap/) – Emidomh

答えて

0

HTMLとは何ですか?これをグローバル変数として使用すると、範囲外になっている可能性があります。

サービスや定数などをすべて注入する必要があります。

+0

..... HTMLオブジェクトは定数services.issueの一部です。これは関連しません...私はコンパイルの問題がこの行に関連するかもしれないときに私が再びスコープをバインドしていると思います$(document.body).append( $コンパイル(データ)($スコープ))。 –

+0

この抜粋のどの行に誤りがありますか? PS。 AngularとjQueryを併用しないでください。 –

関連する問題