На самом деле, недостатка в документации по этому вопросу нет.
Я искал решение и нашел ваш запрос здесь, поэтому я пошел проверить исходный код.
Вы можете использовать md-list > md-list-item
с несколькими ограничениями. В вашем случае идея состоит в том, чтобы приблизиться к своему меню docs, на sidenav (их директива называется menu-link
, по самой ссылке), и я выполнил некоторые изменения в моем исходном коде (которые были близки к вашим) :
<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>
в принципе, это не все элементы, которые принимаются в качестве действий-триггеров внутри md-list-item
. md-checkbox
и md-switch
являются единственными детьми, которые приняты для выполнения процесса, внутри preLink
функция на md-list-item
директива.
Другой способ - разместить ng-click
на самом md-list-item
или в дочернем элементе внутри.
Процесс preLink
- это обертка, использующая «не-стилевую» кнопку, которая делает «прокси» на клике и визуально усиливает эффект пульсации.
Другие вещи, такие как атрибуты, также не переносятся на этот «прокси», поэтому disabled
не может использоваться напрямую, вам нужно смоделировать его результаты. В моем случае я прерываю действие ng-click и помещаю класс в элемент.
«рябь» на или ? В http://thecodeplayer.com/walkthrough/ripple-click-effect-google-material-design это похоже на весь список, а не на контент. –
paje007
#WeirdHackThatWorks '' –
poxip