2016-05-31 8 views
0

Ich baute eine Angular 2-Anwendung, die einige Vorlage Javascript (zum Beispiel Öffnen/macht das Menü kleiner, schließt Inhalt Panels). Ich habe mich gefragt, was wäre der beste Weg, um diese Art von "Vorlage" Javascript zu speichern?Angular 2 Vorlage breit Javascript

Zum Beispiel:

// 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(); 
    }); 
}); 

Sind einige Javascript, die ich brauchen würde, auf jeder Komponente zu verwenden, die einen Content-Panel hat. Muss ich das in jeder Komponente importieren? Oder könnte ich eine benutzerdefinierte Anweisung erstellen und diese in meine Root-Komponente importieren?

Edit: ok, mir ist klar, dass ich diese jquery nicht verwenden sollte, sondern dass ich nur den Code in typescript schreiben sollte. Meine Frage bleibt noch:

sollte ich meine häufig verwendete Funktion in jeder Komponente importieren, oder ist es möglich, eine Funktion in einer übergeordneten Komponente zu definieren und in den untergeordneten Komponenten zu verwenden?

+0

Die Angular2-Vorlagen-Engine führt aus Sicherheitsgründen keine '

Verwandte Themen