2013-08-05 12 views

Odpowiedz

28

Angular nie ma wbudowanego mechanizmu komentarzy do szablonów. Można jednak utworzyć dyrektywę komentarzy, aby ją obsłużyć, w ten sposób.

app.directive('templateComment', function() { 
    return { 
     restrict: 'E', 
     compile: function (tElement, attrs) { 
      tElement.remove(); 
     } 
    }; 
}); 

Markup będzie wówczas:

<template-comment>Put your comment here.</template-comment> 

Alternatywnie, można użyć standardowych komentarzy HTML, a następnie rozebrać je z kodem produkcji przed wdrożeniem.

Rozważ to proste zadanie, jeśli chcesz obsługiwać komentarze bloków - https://github.com/philipwalton/grunt-strip-code Podaj komentarz początkowy i komentarz końcowy, a blok komentarza zostanie usunięty z kodu produkcyjnego, zakładając, że dodasz to zadanie do wdrożenia cel. Użyj go jako modelu do zbudowania procesu, jeśli nie używasz Grunta. ....

+1

I; m świadomi potrzeby rozebrać komentarzy, stąd wspomnieć w pytaniu, na które odpowiadasz. I zminimalizować, gdy jest w produkcji. Ale dla miłego DOM podczas tworzenia chciałbym szablonować komentarze, dlatego pytam o szablonowe komentarze. Zbieram twoją odpowiedź oznacza "Angular nie robi tego, idź gdzie indziej". – mikemaccana

+1

Zaktualizowana odpowiedź z przykładową dyrektywą, która dodaje obsługę komentarzy do szablonów. –

+1

Przegłosowałem, ale potem miałem problemy z tym, że nie działa to dobrze dla mnie. W przypadku @marfarma lub innych: czy użyłeś tego i usunąłeś element tak, jak chcesz? – Daryn

2

można użyć normalnej składni komentarze bez specjalnych symboli jak <!-- Order verification, and authorization -->, można minify HTML (grunt + htmlmin)

htmlmin: { 
     dist: { 
     options: { 
      collapseWhitespace: true, 
      collapseBooleanAttributes: true, 
      removeCommentsFromCDATA: true, 
      removeOptionalTags: true, 
      removeComments: true, 
      ignoreCustomComments: [ /[<>\:\[\]\#]+/ ] 

     }, 
     files: [{ 
      expand: true, 
      cwd: '<%= yeoman.dist %>', 
      src: ['*.html', 'views/**/*.html'], 
      dest: '<%= yeoman.dist %>' 
     }] 
     } 
    }, 
+0

Ta odpowiedź powtarza zaakceptowaną odpowiedź. – m1ld

Powiązane problemy