2017-01-19 4 views
1

私はリンク機能とjqueryを使用して動作させようとしているディレクティブにログインモーダルを持っていますが、動作しないようです。AngularJsリンク関数とJquery操作。コードが動作していないようです

  • これはこれはこれは、ログインディレクティブ

    angular 
        .module('app') 
        .directive('loginModal', ['$scope', loginModalDirective]); 
    
    
        function loginModalDirective($scope) { 
        return { 
         restrict: 'E', 
         templateUrl: 'template/loginmodal.view.html', 
         link: function(scope, elem, attr) { 
          elem.on('click', function() { 
           jQuery("#loginModal").modal(); 
          }); 
         } 
        }; 
    } 
    
でログインモーダルビューの小型版

<div id="loginModal" class="modal fade" role="dialog"></div> 
  • あるログインボタン

    <button login-modal type="button" class="btn">Sign In</button> 
    
  • です

  • +1

    jQueryではなく、イベントの処理にAngularJSを使用することを真剣に考えてください。たとえば、elem.on( 'click' 'ng-click'ディレクティブを使用してください。) –

    +0

    実際にはマイクですが、私は同じモーダルのトンを使用する私のウェブサイトに参加しています –

    +0

    @ S.Patel実際にはあなたがAngularを使用している必要があります。あなたはモーダルテンプレート(ビューとコントローラを含む)を定義することができます)あなたは完全な状態と同じで、インスタンスを呼び出す必要があるものに渡します。[Angular Bootstrap modal](https://angular-ui.github.io/bootstrap /#/ modal) –

    答えて

    3

    Eという制限があります。これは要素を意味します。あなたの要素はbuttonです。ディレクティブが初期化されていません。

    は属性なので、属性にはAを使用してください。また

    restrict: 'A' 
    

    (ない問題、単に廃棄物)、あなたは$scopeを使用していないとディレクティブの中に注入する必要はありません。あなたは既にリンク方法でscopeを取得します。

    関連する問題