1

envテストに基づいて要素を非表示または表示する「desktop-only」および「mobile-only」ディレクティブを作成するとします。私がそれを実行する方法はたくさんありますが、クールな方法は、既存の「ng-show」ディレクティブを「部分的に適用」することです。したがって、「desktop-only」は「ng-show = "env.isDesktop"」と同等であり、実際に委任されますが、親コントローラーでenvテストを実行し、スコープにenvを配置する必要はありません。

もう1つの一般的な例は、タブプラグインです。jQuery関数を使用しtabて要素を表示および非表示にするディレクティブを作成することもできますが、これにより、ディレクティブにすでに含まれている機能の多くが失われます。変数の解析、ngAnimateとの統合などすべてにアクセスするために、ディレクティブでngShowディレクティブを拡張することはできませんでした...showhidengShowtab

これは可能ですか?

ありがとう

4

1 に答える 1

0

分離スコープを使用する場合、手動でいくつかの変数をスコープにプロキシ$scope.current.device = $rootScope.current.device; できます。それとは別に、前述のアプローチを使用してdeviceモデルを配置$rootScopeし、Modernizr などへの呼び出しを行う「hasTouch」などのメソッドとフィールドを使用できます。

はい、これは可能です。

于 2013-04-20T13:02:16.643 に答える