body
angularディレクティブで要素を取得するには? $('body').innerWidth();
私の目的は、ディレクティブ内で jquery を使用して行うことです。私はjqueryを使用したくありませんが、角度のある組み込みのjqlite実装を使用します。
質問する
48279 次
2 に答える
33
別の要素に適用されるディレクティブ内から body 要素にアクセスする必要がある場合は、次のように$documentサービスを利用できます。
app.directive("myDirective", function($document) {
return function(scope, element, attr) {
var bodyWidth = $document[0].body.clientWidth;
console.log("width of body is "+ bodyWidth);
};
});
<button my-directive>Sample Button</button>
jqLite で提供されている DOM トラバーサル メソッドを使用することもできます (ただし、jQuery が提供するものよりも強力ではありません)。たとえば、angular.element.parent()
メソッドを使用して再帰的なルックアップを実行し、body タグを見つけることができます。
于 2013-05-23T22:54:38.460 に答える
10
find()
angular の jQLite に含まれている実装を使用したもう 1 つのバリエーション:
app.directive("myDirective", function() {
return function(scope, element, attr) {
var body = angular.element(document).find('body');
console.log(body[0].offsetWidth);
};
});
于 2013-05-24T01:16:03.040 に答える