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?
Die Angular2-Vorlagen-Engine führt aus Sicherheitsgründen keine '