2016-05-31 8 views
0

いくつかのテンプレートJavaScriptを持つAngular 2アプリケーションを作成しました(たとえば、メニューを開く/作成する、コンテンツパネルを閉じるなど)。私はこのタイプの「テンプレートワイド」JavaScriptを保存するにはどうすればよいだろうと思っていましたか?例えば角2テンプレートワイドJavaScript

// Panel toolbox 
$(function() { 
    $('.collapse-link').on('click', function() { 
     var $BOX_PANEL = $(this).closest('.x_panel'), 
      $ICON = $(this).find('i'), 
      $BOX_CONTENT = $BOX_PANEL.find('.x_content'); 

     // fix for some div with hardcoded fix class 
     if ($BOX_PANEL.attr('style')) { 
      $BOX_CONTENT.slideToggle(200, function(){ 
       $BOX_PANEL.removeAttr('style'); 
      }); 
     } else { 
      $BOX_CONTENT.slideToggle(200); 
      $BOX_PANEL.css('height', 'auto'); 
     } 

     $ICON.toggleClass('fa-chevron-up fa-chevron-down'); 
    }); 

    $('.close-link').click(function() { 
     var $BOX_PANEL = $(this).closest('.x_panel'); 

     $BOX_PANEL.remove(); 
    }); 
}); 

は、私は、コンテンツパネルを持っている各コンポーネントに使用する必要がありますいくつかのJavascriptです。私は各コンポーネントでのインポートが必要ですか?または、カスタムディレクティブを作成してルートコンポーネントにインポートできますか?

編集:私はこのjqueryを使用すべきではありませんが、私はタイプコードでコードを書くだけです。私の質問はまだ残っています:

各コンポーネントで頻繁に使用される関数をインポートする必要がありますか、または親コンポーネントで関数を定義して子コンポーネントで使用することはできますか?

+0

Angular2テンプレートエンジンはセキュリティ上の理由から「

関連する問題