ディレクティブで 1 つのオブジェクトのプロパティ (実際には - clientHeight) を見ることができます。しかし、この高さに応じて他のオブジェクトの padding-top を変更するにはどうすればよいでしょうか? jQuery を使用してこれを行う方法は知っていますが、Angular の方法を探しています。
Angular では、ディレクティブを使用してページ要素にアクセスできます。わかりましたが、同じディレクティブで他のページ要素にアクセスするにはどうすればよいでしょうか?
これを行う方法はいくつかあります。以下のすべての提案について、2 つのディレクティブがあると仮定します。1 つは clientHeight を監視するためのもので、もう 1 つはパディングを調整するためのものです。
someObj.prop1
)。もう 1 つのディレクティブ $watches は、そのオブジェクト プロパティです。祖先関係がある場合はrequire
、子孫ディレクティブで祖先ディレクティブのコントローラーを使用できます。例については、 AngularJS: 別の親を持つコンポーネントを再利用するを参照してください。
推奨されませんが、別のオプション: サービスの代わりに $rootScope を使用します: $rootScope を両方のディレクティブに挿入します。最初のディレクティブで $rootScope のオブジェクト プロパティを変更します。もう 1 つのディレクティブ $watches は、そのオブジェクト プロパティです。