Właściwie brakuje w tym dokumentacji.
Szukałem rozwiązania i znalazłem twoje zapytanie tutaj, więc poszedłem sprawdzić ich kod źródłowy.
Możesz użyć md-list > md-list-item
z kilkoma ograniczeniami. W twoim przypadku chodzi o to, aby zbliżyć się do ich menu dokumentów, na sidenav (jest to dyrektywa o nazwie menu-link
, na samym linku), a ja doświadczyłem pewnych modyfikacji w moim oryginalnym kodzie (które były bliskie twojemu) :
<md-list>
<md-list-item
ng-repeat="section in ::admin.sections"
ng-class="{
'active': $state.includes(section.active),
'disabled': section.disabled
}"
ng-click="!section.disabled && $state.go(section.state)">
<span ng-bind="::section.label"></span>
</md-list-item>
</md-list>
Zasadniczo nie wszystkie elementy, które są akceptowane jako action-wyzwalaczy wewnątrz md-list-item
. md-checkbox
i md-switch
są jedynymi dziećmi, które są akceptowane w procesie, w ramach funkcji preLink
na dyrektywie md-list-item
.
Innym sposobem jest umieszczenie wewnątrz siebie ng-click
na samym md-list-item
lub w elemencie podrzędnym.
Proces preLink
to otok, za pomocą przycisku "niezaznaczony", który wykonuje "proxy" kliknięcia, i wizualnie osiąga efekt marszczenia.
Inne rzeczy, takie jak atrybuty, również nie są przesyłane do tego "proxy", więc disabled
nie może być użyty bezpośrednio, musisz zasymulować jego wyniki. W moim przypadku przerywam akcję ng-click i umieszczam klasę w elemencie.
"Marszczyć" na lub ? W http://thecodeplayer.com/walkthrough/ripple-click-effect-google-material-design wydaje się być na całej liście, a nie na treści. –
paje007
#WeirdHackThatWorks '' –
poxip