実際、これに関するドキュメントが不足しています。
解決策を探していて、あなたの質問がここにあるのを見つけたので、ソース コードを確認しに行きました。
md-list > md-list-item
いくつかの制限付きで使用できます。あなたの場合、アイデアは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
もう 1 つの方法は、 ang-click
をmd-list-item
それ自体または子要素内に配置することです。
このpreLink
プロセスはラッパーであり、クリック時に「プロキシ」を実行する「非スタイル」ボタンを使用し、波及効果を視覚的に実現します。
属性などの他のものもこの「プロキシ」に転送されないため、disabled
直接使用することはできません。その結果をシミュレートする必要があります。私の場合、ng-click アクションを中断し、クラスを要素に入れます。