2016-04-15 24 views
9

Próbuję dołączyć szablon o kątowym ng-include. Strona włączenie do:Angular ng-include in wrong position

<table class="table table-hover table-striped"> 
     <thead> 
      <tr> 
      <th translate> 
       First 
      </th> 
      <th translate> 
       Second 
      </th> 
      <th translate> 
       Third 
      </th> 
      </tr> 
     </thead> 
     <tbody> 
      <ng-include src="getTemplate('default')"></ng-include> 
     </tbody> 
    </table> 

Szablon:

<tr class="table-row-clickable"> 
    <td>text1</td> 
    <td>text2</td> 
    <td>text3</td> 
</tr> 

Get metoda szablon:

$scope.getTemplate = function(templateName) { 
    return APP_CONFIG.TPL_PATH + '/path/' + templateName + '.html'; 
}; 

Obciążenia szablon porządku, widzę go na stronie, ale w złe miejsce. Oto screen z konsoli przeglądarce, The ng-include wkładki przed tabelą, a nie wewnątrz niego: enter image description here

mógłbyś pomóc mi zrozumieć, dlaczego tak jest? Z góry dziękuję.

Edycja 1, dodać renderowania przeglądarki: enter image description here

+3

chciałbym umieścić NG-zawierać na etykiecie TBODY bezpośrednio, czyli '' –

+3

Byłam o napisaniu tego, co powiedział @Dwardu. ng-include nie używa "zamień", więc myślę, że przeglądarka może zdecydować, że jest w niewłaściwym miejscu i przenieść go na zewnątrz. – valepu

Odpowiedz

4

Przeglądarki śledzić standardu HTML, więc nie może być każdy inny tag jak ng-include wewnątrz znacznika tbody. Nie powinno być tylko tr

<tbody> 
    <ng-include src="getTemplate('default')"></ng-include> 
</tbody> 

Więc go zmienić na:

<tbody ng-include="getTemplate('default')"></tbody> 

To po prostu umieścić treść szablonu wewnątrz tbody.

Uwaga: Twój kod może działać w niektórych przeglądarkach, ponieważ inne przeglądarki mogą wyświetlać je w niezmienionej postaci, ale mogą pokazywać inne w inspektorze. Na przykład: jeśli przegapisz tag zamykający z div (na przykład), a podczas sprawdzania elementu zobaczysz tag zamykający, ponieważ niektóre przeglądarki, takie jak Chrome, automatycznie zamkną się dla Ciebie (chociaż twoja pozycja strony dla wyszukiwarek takich jak Google może spaść).

spróbować użyć jakiegoś rozszerzenia jak Web Developer Tool i użyć funkcji jak See generowane wyjście

+1

To działało jak wdzięk, dziękuję. Dobre odpowiedzi są łatwe) – Georgy