mam rodzajowe dyrektywę <item>
, a dyrektywa <listing>
z filtrów i narzędzi paginacji za wystawianie że <item>
:Wielopoziomowe dołączony w Kątowymi 1,5
Przykład: https://plnkr.co/edit/r6byzhFX5m674ONhH1JS?p=preview
Szablon <listing>
jest coś takiego:
<div ng-repeat="item in items">
<item date="item">
<ng-transclude ng-transclude-slot="itemContent"></ng-transclude>
</item>
</div>
Dyrektywa <item>
używa nowego kątowa 1,5 multi-gniazda transkluzja dostosować stopki i nagłówka łatwo:
<item data="itemData">
<header>My header</header>
<footer>My custom footer</footer>
</item>
Mój problem pojawia się, gdy staram się dostosować, że przedmioty przy użyciu <listing>
. Jeśli używam coś takiego:
<listing items="myItems">
<item-content>
<header>{{ item.name }}</header>
<footer>My custom footer for {{ item.name }}</footer>
</item-content>
</listing>
To nie działa, ponieważ <item-content>
zostanie wstawiony <item>
, ale <header>
i <footer>
nie dostać dołączany do ich właściwego miejsca i nie może odczytać zmienną item
zakres . Czy jest jakiś sposób, aby to osiągnąć?
Czy możesz stworzyć do tego piewcę lub skrzypce? Chciałbym zajrzeć do tej kwestii nieco więcej. – Beyers
Tutaj jest: https://plnkr.co/edit/r6byzhFX5m674ONhH1JS?p=preview –
O ile widzę, co próbujesz zrobić, nie będzie działać. Zgodnie z projektem, należy przekształcić zmiany w sposób zagnieżdżenia zasięgów. Sprawia, że treść zawartej w niej dyrektywy ma zasięg poza zakresem dyrektywy, a nie jakikolwiek zakres znajduje się w środku. Daje dostęp do zawartości do zewnętrznego zakresu. Tak więc w twoim przykładzie translatowana zawartość wewnątrz '' i '' uzyskuje dostęp do zakresu kontrolera.Może istnieć sposób obejścia tego, używając parametru 'transcludeFn' w' link'. Ale nie jestem pewien, jak 'transcludeFn' działa z funkcją multi-slot. –
Beyers