ng-click
+と同じ究極の機能を取得しようとしていますng-show
が、トグルによって突然表示されるのではなく、ショーがスライドインすることを除いてdisplay: block/none;
. 必要な jQuery animate があり、ng-click
. 2 つの問題がありますが、2 番目の問題は最初の問題の結果である可能性があります。
問題1
ng-click
の値を変更しませんaside_users
。同様の状況のように見えるSO#12202067を見ましたが、カスタムディレクティブがどのように/なぜ機能し、ネイティブが機能しないのかわかりng-click
ません。
scope: { … }
afterrestrict: 'A',
が表示されますが、新しく作成された DOM 要素内で値を使用できるように見え$scope
ます (要素は既に存在し、正常に表示されますが、トリガー/イベントは発生していません)。
infobox.html
<aside
class="users"
ng-include src="'views/users.html'"
my-slide={"direction":"left","condition":"aside_users"}
></aside>
<i
class="icon icon-user"
ng-click="aside_users=!aside_users"
ng-init="aside_users=false"
></i>
上記のコードは$compile
'd テンプレートであり、テンプレート内の他の場所で $scope パラメーターの値を出力しますaside_users
(prints false
)。
問題 2
my-slide
開始/トリガーされていないようです (ログは'elm: ', elm
Chrome のコンソールに表示されません)。私のページ
directives.js
にリンクされていることを確認しました。index.html
編集にリンクdirectives.js
することを覚えてindex.html
いましたが、 のリソース配列に追加するのを忘れていましたapp.js
。
PS<aside attr={object}>
厳密に有効かどうかはわかりませんが、正当なブラウザはテストケースでそれを受け入れているようです(IEをチェックすることはしませんでした). 私の別の計画は、2 つの属性を使用することです。<foo my-slide="direction" my-condition="boolean"></foo>